我经常使用 vimgrep 在文件中导航,并且通常使用历史记录中的最后一次搜索来修改搜索模式并再次运行它。
有没有办法在命令行中显示一个像下面这样的可编辑字符串,光标已经位于两个搜索模式斜杠之间(并且模式为空)?
:vimgrep // **/*[ch]|copen
我不想使用常量映射(就像这个 vim 提示中的那个),因为我希望能够添加/更改选项(\c 等)。
我建议为此使用命令行窗口(q:
从正常模式打开它),因为您可以使用常规的正常模式击键编辑命令(并且您也可以获得语法突出显示)。
您也可以像在普通缓冲区中一样在历史记录中移动。所以?vimgrep<Enter>nnn
... 将搜索并将您移至所有旧vimgrep
命令。
<Enter>
完成编辑后,只需正常点击,或者:q<Enter>
像其他任何操作一样中止命令并退出窗口。
vimgrep
最后,这是一个在命令行窗口中快速调出空模板的映射。
:nnoremap \v q:ivimgrep<Space>//<Space>**/*[ch]<Bar>copen<Esc>F/;i
参考: :help cmdline-window