如果我手动运行命令
:vimgrep /\CTODO:\|FIXME:\|NOTE:/ %
一切都按预期工作。但是,当我尝试以下映射时:
nnoremap <leader>tl :vimgrep /\CTODO:\|FIXME:\|NOTE:/ %<CR>
我收到错误:
E480:不匹配:\ CTODO:| FIXME:|注意:
我不知道为什么地图不起作用。
答案 0 :(得分:2)
|
用于分隔vim命令。您已将|
转义为将管道视为一个命令但是这会将正则表达式更改为\CTODO:|FIXME:|NOTE:
通过:nmap
查看映射以查看映射的更改方式。
我建议您在映射中使用<bar>
而不是管道符号:
nnoremap <leader>tl :vimgrep /\CTODO:\<bar>FIXME:\<bar>NOTE:/ %<CR>