簡體   English   中英

如何將正則表達式匹配附加到vim中的一行?

[英]How to append regex match to a line in vim?

是否可以使用:%s在一行中找到匹配,然后將其附加到該行?

以下作為示例字符串,我期望類似:s/\\(value\\)/\\$\\1/value附加到行的末尾,但它只是在value內聯之前添加$

演示字符串:

This value is too damn high!

預期產量:

This is too damn high!value

實際產量:

This $value is too damn high!

你可以快速而骯臟:

:s,\(.*\)\(value\)\(.*\),\1\3\2,

但可能有更簡潔的方法來做到這一點。

查找和追加(如上所述):

:s,\(.*\(value\).*\),\1\2,

在Vim中, \\$是一個字面的美元符號。 行尾匹配只是$ 您可以使用\\1替換第一個匹配的組,使用\\0匹配整個匹配。 因此:

:s#.*\(value\).*#\0\1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM