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

Kar*_*nna 1 vim

我正在尝试创建一个键绑定来删除文件中的所有注释行.

以下给出了理想的结果 :g/^\(#\|$\)/d

我宣布绑定如下 ~/.vimrc

nnoremap <leader>dcl :g/\v^(#|$)/d<cr>
Run Code Online (Sandbox Code Playgroud)

它抛出以下错误:

E492: Not an editor command: $)/d<cr>
Run Code Online (Sandbox Code Playgroud)

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

yol*_*yer 8

用以下方式替换绑定:

nnoremap <leader>dcl :g/\v^(#<bar>$)/d<cr>
Run Code Online (Sandbox Code Playgroud)

实际上,在脚本或命令行中,vim将|字符视为命令分隔符; 所以你必须替换它<bar>.