如何在vim的多行开头添加一个单词?

时间:2011-01-13 15:53:10

标签: vim

在Vim,

如何在所有行的开头添加单词? 另外我如何在最后添加它?

例如.. 如果我有

A
B
C
D

我想把它变成

int A =
int B = 

等。

5 个答案:

答案 0 :(得分:11)

使用可视块模式( Ctrl - v )选择所需的列,然后按 I ,键入您想要的字符,然后点击 Esc

所以在这种情况下,你将光标放在A上,点击 Ctrl - v ,然后转到D,点击并输入int(它只会在您输入时出现在第一行),然后点击 Esc ,此时它将应用于插入所有视觉选择的部分。

这适用于文档中的任何位置,行的开头或行尾。

:he v_b_I了解有关Visual Block Insert

的更多信息

答案 1 :(得分:7)

你可以这样做:

:%s/^/at the beginning/
:%s/$/at the end/

答案 2 :(得分:4)

:%s/.\+/int & =

+在空行上不匹配

答案 3 :(得分:2)

全球替代品应该是我:

:%s/.\+/int & =/

这就是它的工作原理:在替换的第二部分(即int & =)中,&符号被替换为第一部分(.*)中的符号。由于.*匹配整行,因此每行都会按照需要进行处理。

如果您有空行(您不希望有任何替换),您可以使用

:%s/^\S\+$/int & =/

答案 4 :(得分:2)

如果您只需要复制第一个单词,请执行以下操作:

:%s/^\w\+/int & =/g

如果要保留缩进,请执行以下操作:

:%s/^\(\s*\)\(\w\+\)/\1int \2 =/g