最近经常遇到这个问题,在这里记录下。
我的环境
- 系统
Archlinux - vim
NVIM v0.2.2 / vim 8.0.1297
前提
需要 vim 支持 +clipboard
- 检查方法
vim --version | grep clipboard - 如果你用的是
vim-minimal不支持,安装gvim可解,安装后命令行版也会支持的 - 至于 nvim, 我也不太清楚, 好像 vim 支持之后它也可以了???
开始
不再详细介绍 vim 的 复制粘贴缓存器系统了,只介绍方法,具体可参考各种详细介绍的博文
从 vim 复制到系统粘贴板
- 跟使用普通的
y命令类似,只需要"+y即可将内容复制到系统粘贴板
- 跟使用普通的
从系统粘贴板复制到 vim
- 法1: 与
p命令类似,只需要换成"+p即可 - 法2: 首先 vim 输入 命令
:set paste(这样粘贴效果好,不会出现奇怪的缩进), 插入模式下使用终端的粘贴功能
- 法1: 与
多个 vim 之间的复制
- 如果是同一个vim进程的不同buffer, 可以直接
p / y没有问题 - 如果是不同的进程,可以像上文提到的那样借助
+寄存器来完成,也就是 之前的"+y / "+p
- 如果是同一个vim进程的不同buffer, 可以直接
最后说点
简单来说可以按照: 来使用不同的 vim 寄存器,查看寄存器的命令是:reg
我这里只是记录下简单做法,对 vim 寄存器的原理感兴趣就去看 vim 的文档还有各种博文吧~
本文介绍在Vim及NVIM环境下,如何实现不同缓冲区间及与系统剪贴板间的高效复制粘贴操作。适用于Archlinux系统,Vim版本8.0.1297或NVIM v0.2.2。文章详细说明了利用'+寄存器进行数据交换的方法,包括从Vim复制到系统剪贴板、从系统剪贴板粘贴到Vim以及在多个Vim实例间的数据传递。
2199

被折叠的 条评论
为什么被折叠?



