Vim
中的复制、删除的内容都会被存放到默认(未命名)寄存器中,之后可以通过粘贴操作读取默认寄存器中的内容。
寄存器是完成这一过程的中转站,Vim
支持的寄存器非常多,其中常用的有 a-zA-Z0-9+“
。
0-9
表示数字寄存器,是Vim
用来保存最近复制、删除等操作的内容,其中0
号寄存器保存的是最近一次的操作内容。a-zA-Z
表示用户寄存器,Vim
不会读写这部分寄存器"
(单个双引号)未命名的寄存器,是 Vim 的默认寄存器,例如删除、复制等操作的内容都会被保存到这里。+
剪切板寄存器,关联系统剪切板,保存在这个寄存器中的内容可以被系统其他程序访问,也可以通过这个寄存器访问其他程序保存到剪切板中的内容。
:reg
可以查看所有寄存器中的内容。
解决办法
通过上面的内容可以知道,vim
的剪贴板和系统的剪贴板是互不相通的。只要在vimrc
的配置中添加下面的设置,就可以解决此问题。
set clipboard=unnamedplus
保存并退出vimrc
,重新打开文件就可以生效了。
如果还有问题,就要查看下,你的vim
版本是否支持clipboard
了。
vim --version | grep clipboard
如果出现-clipboard
,说明你的vim不支持系统剪切板。一般重新安装一下,然后配置上面set clipboard=unnamedplus
这一句,就可以解决了。