在Vim,
如何在所有行的开头添加单词? 另外我如何在最后添加它?
例如.. 如果我有
A
B
C
D
我想把它变成
int A =
int B =
等。
答案 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