0

次の手順を実行するためのカスタム コマンドを定義したいと思います。現在の単語を grep し、copen を実行し、grep された単語をインクリメンタル検索します。私が使用しているコマンドは次のとおりです。

nmap <C-p> :execute "grep! -Irn " . shellescape(expand("<cword>")) . " ."<cr>:copen<cr>:g/<cword>/<cr>

ただし、クイックフィックス ウィンドウが開かれた後、2 番目の cword は現在の単語に展開されます。以前に grep で使用された単語を使用するにはどうすればよいですか?

4

1 に答える 1

1

<cword>あなたが入ったのと同じ方法grep

nmap <C-p> :execute "grep! -Irn " . shellescape(expand("<cword>")) . " .\<cr>:copen\<cr>:g/" . expand("<cword>"). "/\<cr>"<cr>

いくつかの考え:

  • の代わりに検索レジスタを設定します:g。例えば:let @/ = "foo"
  • 使用するnnoremap
  • escape()弾力性を高めるために使用します。見る:h escape(
  • たぶん使用します:vimgrep。見る:h :vimg
  • これは、次のプラグインによって解決される同様の問題です: visual starAck.vim、およびAg.vim
于 2014-08-17T05:04:59.567 に答える