如果是在同一个VIM进程下操作多个文件,比如使用插件或者分割窗口,可以使用yy和p直接解决。
但如果是多个不同的VIM进程分别打开文件,上面的方案就不好使了。
还有vim与非VIM之间的复制粘贴,同样如此。
那该如何解决呢?
方法:
1.首先,查看vim版本是否支持clipboard
vim --version | grep "clipboard"
如果clipboard前面有一个减号,说明不支持。
2.如果不支持的话,需要安装图形化界面的vim
sudo zypper in gvim
安装完成后再次执行
vim --version | grep "clipboard"
发现已经支持clipboard
3.复制粘贴
(1)不同vim进程之间的复制粘贴
在一个vim进程中,进入一般模式后,按"+nyy
完成复制。
"+
是个寄存器,表示系统剪贴板。n为你想要复制的行数,例如,复制当前以下11行内容,则只需按"+11yy
就可以了。
在另一个vim进程中,进入一般模式,在要粘贴的位置按"+p
就粘贴完了。
注意,用:reg
命令可以查看所有寄存器里的内容。
(2)vim与非vim之间的复制粘贴
在vim中按"+nyy
将内容复制到剪贴板,然后使用Ctrl+V
将其粘贴到其他文档中。
在其他地方用Ctrl+C
复制到剪贴板,然后使用"+p
粘贴到vim中。