Vim 可以像 vscode 那样进行多重粘贴吗?

Vim can multi-paste like vscode?

我是 VSCode 的忠实粉丝,但我想迁移到 vim...

vim 有另一种方法,比如 vscode?

我知道multi cursor插件,但是我不知道multi copy和multi paste with orderly

实际上,您在 neovim 上至少有两个选择:

1 - 使用 (nvim) inccommand 如:

:%s/<div>\zs/whetever you want/g

 the \zs ensures your changes will start after this position

2 - 使用视觉块选择

Start visual block selection -> Ctrl-v
use j or k to expand your selection
now press I and type what you want, after that 
just press Esc.

有插件 mg979/vim-visual-multi,它实现了类似于 Vim 中的多个光标的功能。

在没有插件的情况下,Vim有一个Visual Block选择的功能,但是它是基于列的,所以当你用它来执行这个操作时(按照你使用的相同顺序),你最终用这个代替:

<div>Multi-copy</div>
<div>Paste     </div>
<div>Orderly   </div>

(您稍后可以使用其他东西,例如 :s,删除 </div> 之前的空格。)

另一种选择是使用 Vim 宏,抽取单行的内容,将光标定位在 <div> 块之一内并将其放在那里,然后定位光标在下一行,以便下一个宏执行将作用于第二行,然后继续重复宏直到完成。

在Vim中,做与你做的相反的事情其实更自然,而不是把内容放在<div>里面,把<div>放在周围内容要容易得多。可以使用Visual Block insert和append,即使Visual Block put对left tag也有效(都是一样长的),也有常用插件(如vim-surround)包围选区在特定的 HTML 标签和插件(例如 emmet.vim)中快速生成具有一组 HTML 标签的结构。