Vim 需要在每行中复制文本并添加等号和前缀
这是我的文字:Vim 需要在每行中复制文本并添加等号和前缀,vim,Vim,这是我的文字: xxx yyy zzz 我希望它是以下文本: xxx = C.xxx yyy = C.yyy zzz = C.zzz 这可以在Vim中执行吗?选择文本,然后按:并键入 s/\(.*\)/\1 = C.\1/ 键入以下内容: :%s/\(.*\)/\1 = c.\1/g 细分: %-在所有线路上工作 \(.*)-捕获组(“组1”)中的所有字符 s/PATTERN/REPLACEMENT/g-执行字符串替换 替换模式中的\1-参考匹配的组 您也可以使用更简单的形式: :%s
xxx
yyy
zzz
我希望它是以下文本:
xxx = C.xxx
yyy = C.yyy
zzz = C.zzz
这可以在Vim中执行吗?选择文本,然后按
:
并键入
s/\(.*\)/\1 = C.\1/
键入以下内容:
:%s/\(.*\)/\1 = c.\1/g
细分:
-在所有线路上工作%
-捕获组(“组1”)中的所有字符\(.*)
-执行字符串替换s/PATTERN/REPLACEMENT/g
- 替换模式中的
-参考匹配的组\1
- 您也可以使用更简单的形式:
:%s/.*/& = C.&
您不需要
^
或$
。根据要复制的内容是否位于行的开头,在第一个/
之后填充\s*\zs
可能会很方便,以便保留前导空格。这有助于我获得替换。太棒了。轻微修正::%s/*/&=C.&/
。刚刚添加了结束符/
@mpetti如果您没有标志,则根本不需要:-D它肯定更完整,但我在这里留待Breviti。我需要这样的东西来处理多行:%string%
到string=%string%