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

如何在vim中的多行开头添加单词?,vim,Vim,在Vim中 如何在所有行的开头添加一个单词? 还有,我如何在末尾添加它 例如。。 如果我有 A B C D 我想去 int A = int B = 等等一个全球替代者应该做到: :%s/.\+/int & =/ 这就是它的工作原理:在替换的第二部分(即在int&=中),用第一部分(在*中加工的符号)替换与。由于*匹配整行,因此每行都会根据需要进行替换 如果您有空行(其中您不希望有任何替换),您可以使用 :%s/^\S\+$/int & =/ 使用可视块模式(Ctrl-v

在Vim中

如何在所有行的开头添加一个单词? 还有,我如何在末尾添加它

例如。。 如果我有

A
B
C
D
我想去

int A =
int B = 

等等

一个全球替代者应该做到:

:%s/.\+/int & =/
这就是它的工作原理:在替换的第二部分(即在
int&=
中),用第一部分(在
*
中加工的符号)替换与。由于
*
匹配整行,因此每行都会根据需要进行替换

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

:%s/^\S\+$/int & =/
使用可视块模式(Ctrl-v)选择所需的列,然后单击I,键入所需的字符,然后单击Esc

因此,在本例中,您需要将光标放在
A
,点击Ctrl-v,转到
d
,点击I并键入
int
(键入时它只会出现在第一行),然后点击Esc,此时它会将插入应用于所有可视选择的部分

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

:如需有关视觉块插入的详细信息,请执行以下操作:

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

:%s/\+/int&=


+空行不匹配如果只需要复制第一个单词,请执行以下操作:

:%s/^\w\+/int & =/g
:%s/^\(\s*\)\(\w\+\)/\1int \2 =/g
如果要保留缩进,请执行以下操作:

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

$0? 这是针对Perl或C++(Tr1)的0美元,可能是另一种基于正则表达式的语言。在VIM中,'& '扩展到整个匹配模式。对于那些使用代码< 0美元< /C> >,也有代码> > 0 作为“代码>和<代码>的等效替代。接下来是组的
\1
\2
等。只有当
virtualedit
不为空时,这才适用于空行。+1,因为这是最通用的解决方案。有关附加信息,请参见
:帮助v_b_A
而不是
v_b_I
有趣的是
可视块
可视模式