最近经常遇到这个问题,在这里记录下。
我的环境
- 系统
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 的文档还有各种博文吧~