vim替换问题

标签 vim

我有一些像下面这样的行:

aaa
bbb
ccc
ddd

我希望他们像这样改变:
aaa=$aaa
bbb=$bbb
ccc=$ccc
ddd=$ddd

所以我使用以下命令在 vim 中执行此操作,但出现错误
:s/\(\^*\)/\1=\$\1/

我意识到 \1这里不能使用两次,那我该怎么做呢?

最佳答案

回引用\1可以多次使用,但你有另一个问题。你的正则表达式应该是这样的:

:%s/^\(.*\)/\1=\$\1/

说明:%告诉 vim 替换所有行; ^作为行首的标记应该是正则表达式中的第一个字符,并且不应该被转义。 .*表示“任意次数的任意字符”。然而,原来的表达\(\^*\)将查找文字字符 ^ 的任意次数重复(包括无)。

关于vim替换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12969094/

相关文章:

vim - 如何在Vim中打开的文件中区分两行?

image - vim 图像放置

vim - slimv.vim::无效的自动插入括号

vim - Racket xrepl 的内置帮助文本(非 html)文档

vim - 在 Vim 中注释掉匹配项

c++ - vim 有 C++11 语法文件吗?

vim - 在vim中自动缩进带有损坏缩进的代码

linux - 无法识别的 Vim 键盘映射

vim 使用配色方案文件向语法关键字添加新元素?

vim - 刷新Vim缓冲区