如何在vim中使用系统的粘贴板
一般默认情况下,在vim中的所有复制粘贴操作都是保存再vim的某个缓冲区中的,与系统的剪切板并不通用。所以当我们要使用到系统的粘贴板时会变得很不方便。
可以使用命令vim --verion | grep clipboard
来查看自己的vim是否支持系统粘贴板。
比如我自己的,是这样的
1 | dclunatic@dcLunatic ~ [17:36:36] |
能够在clipboard前看到+号就是支持的,如果是-号的话,就是不支持的,这种情况,请看下边,
一般有以下的几种解决方法:
- 使用gvim代替vim
gvim一般都是支持系统粘贴板的,所以我们可以使用gvim的命令行版本,就是直接在终端编辑文件,跟vim一样。只需要加上-v参数即可。 - 自己编译vim
关于自己编译vim,这里推荐一篇博客,里面说得挺详细的了。
解决了vim支持系统粘贴板的问题,我们如果需要将结果复制粘贴到vim中的话,都需要使用像`”+y”这样操作,很是麻烦。所以需要配置一下,让这些操作默认的使用系统的粘贴板。
其实这些都是使用到了vim的寄存器,关于vim里面寄存器的内容,可以使用
:reg
来查看。
一般跟系统粘贴板相关联的寄存器有两个,一个是*,一个是+,*代表的是选中的内容,而+代表的是系统粘贴板的内容。之所以放在一起说呢,是因为在window中,这两个是通用的,作用是一样的。但是在linux中,却是不相同的了。
我们可以使用: set clipboard=unnamed
来指定vim中默认的剪切板是*寄存器,使用: set clipboard=unnamedplus
是+寄存器。
将这句直接写在vim的配置文件vimrc中即可。
参考官方的文章http://vim.wikia.com/wiki/Accessing_the_system_clipboard