如何在Vim上多行的多个位置粘贴相同的文本

如何在Vim上多行的多个位置粘贴相同的文本,vim,macvim,Vim,Macvim,最近我用iTerm2将我的文本编辑器从Sublime文本切换到Vim 我正在寻找一个插件粘贴在Vim上多行多个位置的文本 (类似于升华文本上的multicursor,我可以选择光标并使用CMD+单击在其他位置选择,然后粘贴。) 我看过这个插件,但它只允许我选择下一次出现的相同单词 e、 g-将光标放置在不同直线上的不同位置,如下所示 第1行:Lorem ipsum dolor sit amet,[光标在这里]继续前进。埃尼安 第2行:commodo ligula[光标在这里]eget dolor

最近我用iTerm2将我的文本编辑器从Sublime文本切换到Vim

我正在寻找一个插件粘贴在Vim上多行多个位置的文本

(类似于升华文本上的multicursor,我可以选择光标并使用CMD+单击在其他位置选择,然后粘贴。)

我看过这个插件,但它只允许我选择下一次出现的相同单词

e、 g-将光标放置在不同直线上的不同位置,如下所示

第1行:Lorem ipsum dolor sit amet,[光标在这里]继续前进。埃尼安
第2行:commodo ligula[光标在这里]eget dolor。埃尼安·马萨。自然社会学院
第3行:penatibus et magnis dis-parturint montes,[光标在这里]nascetur ridiculus mus.
第4行:Donec[光标在这里]quam felis、ultricies nec、pellentesque eu、pretium quis、sem

我们将非常感谢您的帮助,并提前表示感谢

VIM版本

VIM-Vi提高了7.4(2013年8月10日,汇编于2014年4月21日14:54:22)

MacOS X(unix)版本

警告 我建议不要尝试将以前的编辑习惯原封不动地移植到Vim;毕竟,Vim基于模式的编辑和基于命令的语法是其独特的功能,并使编辑高效

维姆路 “Vim方式”更像是使用正则表达式指定位置,移动到第一个匹配项,粘贴,然后用
n
重复

模仿 通过在每个位置手动插入标记字符(例如,
§
),然后通过以下方式替换,您可以模拟您的预期工作流:

:%s/§/\=@@/g

这将使用
:help sub replace expr
替换为默认寄存器的内容。

Vim有一个不同的缓冲区,用于存储您复制的内容。要粘贴,您只需使用“P”即可粘贴内容


或者我建议您使用“.”[dot]——在Vim中,它用于最后一个动作。因此,一旦你写/复制并粘贴到一行中,你就可以在任何你想要粘贴相同文本的地方使用“点”(即最后要采取的行动)。

标准的Vim方式,Drew Neil创造的“点公式”,是崇高文本方式的反面

在Sublime中,在进行更改之前,标记图案的每个匹配项:

mark    Cmd+D
mark    Cmd+D
mark    Cmd+D
mark    Cmd+D
change  foo
在Vim中,您“标记”一个模式,进行一次更改,并在该模式的其他实例上重复该更改:

mark    *N
change  ciwfoo<Esc>
repeat  n.
repeat  n.
repeat  n.
并将上述过程缩短为:

change  <key>foo<Esc>
repeat  .
repeat  .
repeat  .
repeat  .
changefoo
重复一遍。
重复一遍。
重复一遍。
重复一遍。

我想这还不错。

非常感谢您的建议和推荐。我将尝试以Vim的方式,希望我能尽快完全熟悉Vim。谢谢你的建议。谢谢Romaill。也将尝试一下。使用全新的vim功能,加油!
change  <key>foo<Esc>
repeat  .
repeat  .
repeat  .
repeat  .