我从这个 vim 提示的映射开始,用于lvimgrep
在文件中搜索光标下的当前单词:
map <F4> :execute "lvimgrep /" . expand("<cword>") . "/j **" <Bar> lw<CR>
我意识到我想在命令实际执行之前编辑文件 glob 路径或搜索模式。例如:当光标位于 html 文件中的 javascript 变量上时,按下F4
只会搜索 html 文件中的变量。如果它形成命令并让我在执行之前对其进行编辑会更好。删除尾随<CR>
会按原样打印出代码 - 命令窗口显示:
:execute "lvimgrep /" . expand("<cword>") . "/j **" <Bar> lw
但这很难编辑。我实际上希望映射显示:
:lvimgrep /theword/j *.js //---- cursor waiting here
我已经尝试了所有我能做的,但不确定如何去做——而且 vimscript 并不容易。
PPS:最终映射(我用过<leader>*
):
nnoremap <expr> <leader>* ":lvimgrep /" . expand("<cword>") . "/j **/*." . expand("%:e") . "\|lopen"