dcLunatic's blog

如何在vim中使用系统的粘贴板

字数统计: 516阅读时长: 1 min
2018/09/17 Share

如何在vim中使用系统的粘贴板

一般默认情况下,在vim中的所有复制粘贴操作都是保存再vim的某个缓冲区中的,与系统的剪切板并不通用。所以当我们要使用到系统的粘贴板时会变得很不方便。
可以使用命令vim --verion | grep clipboard来查看自己的vim是否支持系统粘贴板。
比如我自己的,是这样的

1
2
3
4
dclunatic@dcLunatic ~                                                                                                                                                                                      [17:36:36] 
> $ vim --version | grep clipboard
+clipboard +jumplist +persistent_undo +vertsplit
+emacs_tags +mouse_dec -sun_workshop +xterm_clipboard

能够在clipboard前看到+号就是支持的,如果是-号的话,就是不支持的,这种情况,请看下边
一般有以下的几种解决方法

  1. 使用gvim代替vim
    gvim一般都是支持系统粘贴板的,所以我们可以使用gvim的命令行版本,就是直接在终端编辑文件,跟vim一样。只需要加上-v参数即可
  2. 自己编译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

原文作者:dcLunatic

原文链接:http://dclunatic.github.io/vim%E4%BD%BF%E7%94%A8%E7%B3%BB%E7%BB%9F%E7%B2%98%E8%B4%B4%E6%9D%BF.html

发表日期:September 17th 2018, 11:09:43 pm

更新日期:July 11th 2021, 9:13:50 pm

版权声明:转载的时候,记得注明来处

CATALOG
  1. 1. 如何在vim中使用系统的粘贴板