0

如果我手动运行命令

:vimgrep /\CTODO:\|FIXME:\|NOTE:/ %

一切都按预期工作。但是,当我尝试以下映射时:

nnoremap <leader>tl :vimgrep /\CTODO:\|FIXME:\|NOTE:/ %<CR>

我得到错误:

E480:不匹配:\CTODO:|FIXME:|注意:

我不知道为什么地图不起作用。

4

1 回答 1

2

|用于分隔 vim 命令。您已经转义了|将管道视为一个命令,但是这会将正则表达式更改为\CTODO:|FIXME:|NOTE:查看映射通过:nmap以查看映射如何更改。

我建议您<bar>在映射中使用而不是管道符号:

nnoremap <leader>tl :vimgrep /\CTODO:\<bar>FIXME:\<bar>NOTE:/ %<CR>
于 2013-07-05T18:28:32.667 回答