在Vim中注释掉匹配项

在Vim中注释掉匹配项,vim,Vim,我想注释掉每一行有以下匹配的内容 ^.*pdf 你需要以某种方式考虑形势。我试着用括号来表示匹配的对象 我运行以下命令失败 %s/^(.*pdf)/^%$1/ 及 及 如何在Vim中注释掉匹配项?我不确定“注释掉”的确切含义(注释是用哈希表示的,还是什么?),但看起来您想要的是在前面加上一个%符号。那么, :g/pdf/s/^/%/ 应该可以使用(“在所有包含“pdf”的行中,将行的开头改为%”,这是您可以阅读的方式)。嗯,我认为您可以使用: :%s/^\(.*pdf\)/#\1/ 或者

我想注释掉每一行有以下匹配的内容

^.*pdf
你需要以某种方式考虑形势。我试着用括号来表示匹配的对象

我运行以下命令失败

%s/^(.*pdf)/^%$1/


如何在Vim中注释掉匹配项?

我不确定“注释掉”的确切含义(注释是用哈希表示的,还是什么?),但看起来您想要的是在前面加上一个%符号。那么,

:g/pdf/s/^/%/

应该可以使用(“在所有包含“pdf”的行中,将行的开头改为%”,这是您可以阅读的方式)。

嗯,我认为您可以使用:

:%s/^\(.*pdf\)/#\1/
或者如果要在“%”而不是“#”前加前缀:


这不是globbing,而是Kleene闭包和正则表达式模式的一部分。谢谢你的回答我不知道你能如此巧妙地组合命令。@Masi,Vim和相关编辑器的主要功能来自组合命令的能力
:g/pdf/s/^/%/
:%s/^\(.*pdf\)/#\1/
:%s/^\(.*pdf\)/%\1/