.vimrc中的正则表达式抛出“不是编辑器命令”

时间:2018-07-19 13:05:34

标签: vim

我正在尝试创建一个快捷键,以删除文件中所有注释的行。

以下内容为我带来了理想的结果:g/^\(#\|$\)/d

我在~/.vimrc

中声明了绑定
nnoremap <leader>dcl :g/\v^(#|$)/d<cr>

它抛出以下错误:

E492: Not an editor command: $)/d<cr>

用正则表达式声明键绑定的正确方法是什么?

1 个答案:

答案 0 :(得分:8)

通过以下方式替换绑定:

nnoremap <leader>dcl :g/\v^(#<bar>$)/d<cr>

实际上,在脚本或命令行中,vim认为|个字符是命令分隔符;因此您必须将其替换为<bar>