Vim:定义命令grep + copen +增量搜索



我想定义一个自定义命令来执行以下步骤:grep当前单词,copen,增量搜索grep'ed单词。下面是我使用的命令:

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

但是打开快速修复窗口后,第二个单词被展开为当前单词。我如何使用之前grep使用的单词?

就像你把<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 star, Ack。vim和Ag.vim

相关内容

  • 没有找到相关文章

最新更新