为了给一组行添加前缀,我使用两种不同的方法之一:
一种方法是块选择(由某物提到)。通常,您可以选择一个矩形区域,ctrl-V然后移动光标。突出显示一个矩形后,按下shift-I将在矩形的左侧插入字符,或者shift-A将它们附加到矩形的右侧。因此,您可以使用此技术制作一个矩形,其中包含要添加前缀的行的最左侧列,点击shift-I,键入前缀,然后点击转义。
另一种方法是使用替换(如 Brian Agnew 所述)。Brian 的替换将影响整个文件(命令中的 % 表示“所有行”)。要只影响几行,最简单的方法是shift-V在第一行/最后一行点击(启用可视行模式),然后移动到最后/第一行。然后输入:
:s/^/YOUR PREFIX/
^ 是一个正则表达式(在本例中为行首)。通过在可视行模式下键入此内容,您将看到 '<,'> 自动插入到 s 之前。这意味着替换的范围将是视觉选择。
额外提示:如果您的前缀包含斜杠,您可以使用反斜杠对其进行转义,或者您可以使用不同的标点符号作为命令中的分隔符。例如,要添加 C++ 行注释,我通常会这样写:
:s:^:// :
对于添加后缀,替换方法通常更容易,除非所有行的长度完全相同。只需将 $ 用于模式而不是 ^ ,您的字符串将被附加而不是预先附加。
如果要同时添加前缀和后缀,可以执行以下操作:
:s/.*/PREFIX & SUFFIX/
.* 匹配整行。替换中的 & 将匹配的文本(整行)放回原处,但现在它将添加您的前缀和后缀。
顺便说一句:注释掉代码时,您可能希望稍后取消注释。您可以使用 visual-block ( ctrl-V) 选择斜线,然后按 d 删除它们,或者您可以使用替换(可能使用视线选择,使用shift-V)来删除前导斜线,如下所示:
:s:// ::