如何在VIM中注释所有符合搜索模式的行

10
我想注释所有与特定字符串匹配的行。我正在进行汇编编程,因此使用“;”字符对行进行注释。
该字符串(模式)可以在行的任何位置出现。注释应添加到行的开头(显然)。

4个回答

16

另外一种方法:

:g/模式/s/^/;/


13

我会说

:g/pattern/norm I;
(假设 ; 是注释字符,pattern 是你正在寻找的内容)
另请参见:|I|insert.txt 文档中

1
如果我需要评论一些代码,我也会这样做。但是 I 不会把我们带到行的开头(正如 OP 明确要求的那样),而是会移到第一个非空格处。这有细微的差别。 - Kent
@Kent,这是真的,这也正是为什么我通常会按照我发布的方式做的原因。引入者的目的是要让这一点变得清晰(“我会说”)。我正在冒着风险,希望我的善意的替代角度不会被低估 :/(今天是愚人节吗?) - sehe

7

:s 命令会在每个匹配的行前添加一个 ;

:%s/.*pattern/;&

1
以上模式中的 .* 代表什么意思?有哪些文档可以帮助我理解正则表达式? - Divine Cosmos

0
使用可视模式选择要进行评论的行。 转到您想要从中开始评论的行。 按下shift+V - 字符串模式匹配,这将选择整行。 现在按下j,如果您想要选择当前行下方的行,否则按下k,如果您想要选择当前行+上方的行。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接