是否可以使用:%s
在一行中找到匹配项,然后将其附加到该行?
以下作为示例字符串,我希望:s/\(value\)/\$\1/
之类的内容可以value
添加到该行的末尾,但它只是在$
内联之前添加value
< / p>
演示字符串:
This value is too damn high!
预期产出:
This is too damn high!value
实际输出:
This $value is too damn high!
答案 0 :(得分:2)
你可以快速前进脏:
:s,\(.*\)\(value\)\(.*\),\1\3\2,
但是可能有更简洁的方法来做到这一点。
寻找&amp;追加(如上所述):
:s,\(.*\(value\).*\),\1\2,
答案 1 :(得分:2)
在Vim中,\$
是一个字面的美元符号。行尾匹配只是$
。您可以使用\1
替换第一个匹配的组,并\0
匹配整个匹配。因此:
:s#.*\(value\).*#\0\1