2012-09-08 6 views

答えて

3

あなたは私を許す必要があります、私はこれを見つけた覚えができませんが、それは不思議に動作します。 .vimrcに追加するだけです。視覚的に選択した後*#あなたの典型的なを使用してください:

" Search for selected text, forwards or backwards. 
vnoremap <silent> * :<C-U> 
    \let old_reg=getreg('"')<Bar>let old_regtype=getregtype('"')<CR> 
    \gvy/<C-R><C-R>=substitute(
    \escape(@", '/\.*$^~['), '\_s\+', '\\_s\\+', 'g')<CR><CR> 
    \gV:call setreg('"', old_reg, old_regtype)<CR> 
vnoremap <silent> # :<C-U> 
    \let old_reg=getreg('"')<Bar>let old_regtype=getregtype('"')<CR> 
    \gvy?<C-R><C-R>=substitute(
    \escape(@", '?\.*$^~['), '\_s\+', '\\_s\\+', 'g')<CR><CR> 
    \gV:call setreg('"', old_reg, old_regtype)<CR> 

ここで本当の利点は、これは単なる検索コマンドに貼り付けると比べ、任意の特殊文字をエスケープしていることです。また、キーストロークも少なく、タスクの魅力を最大限に引き出します。

4

ビジュアルブロックを作成し、無名レジスタ""にヤンクします。ビジュアルブロックを選択して、yを入力します。 / - または:s/で検索を開始し、Ctrl-rと入力して"と入力し、無名レジスタの内容を検索語句として挿入します。

これでブロックを現在の検索にすることはできませんが、ほとんど簡単です。

Ctrl-rは、コマンドラインのどこでも使用できます。たとえば、次のように使用することもできます。代替テキストまたは置換テキストを入力するか、または挿入モードで入力します。

+0

あなたがカスタムの.vimrcを簡単に読み込むことができないリモートマシンや環境にある場合は特に、信頼性の高い、行き着く方法。 – kenny

関連する問題