我正在使用Vim并希望复制某些行中的第一个单词,然后将其粘贴在由4个空格分隔的单词之后。以下是一个例子。
football
run
phone
watch
然后会变成:
football football
run run
phone phone
watch watch
我只想应用于第186到1413行。我可以使用Vim视觉模式进行此操作,但必须有更快的方法。
答案 0 :(得分:1)
您可以使用substitute
命令和行范围:
:186,1413s/^\w\+/& &/
186,1413
是要操作的行(开始,结束)范围。 s
是substitute
的缩写(参见:h substitute
),它执行正则表达式搜索和替换。 ^\w\+
匹配任何单词字符(字母数字和下划线,没有空格)。 & &
将匹配的单词替换为自身,四个空格,并再次替换。
第一个单词后的任何文字都会附加到该行的末尾。
答案 1 :(得分:1)
您可以使用:normal
命令:
:186,1413norm! yw4A ^[p
^[
按ctrl-v
然后按ESC