我正在使用 Vim,想复制某些行中的第一个单词,然后将其粘贴到该单词后面,并以 4 个空格分隔。下面是一个例子。
football
run
phone
watch
然后会变成:
football football
run run
phone phone
watch watch
我只想应用于第 186 至 1413 行。我可以使用 Vim 视觉模式来执行此操作,但必须有一种更快的方法。
最佳答案
您可以使用substitute
命令和行范围来完成此操作:
:186,1413s/^\w\+/& &/
186,1413
是要操作的行范围(开始、结束)。 s
是 substitute
的缩写(参见 :h Replacement
),它执行正则表达式搜索和替换。 ^\w\+
匹配任何单词字符(字母数字和下划线,不含空格)。 & &
将匹配的单词替换为其自身、四个空格,然后再次替换其自身。
第一个单词之后的任何文本都将附加到行尾。
关于Vim复制行中的第一个单词并在该单词后打印它,以4个空格分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40712087/