打开 Ubuntu 18 中 Vim 的系统剪切板功能

1,082 阅读2分钟

打开 Ubuntu 18 中 Vim 的系统剪切板功能


1. 查看 Vim 是否支持系统剪切板

有两种方法可以查看 Vim 是否支持系统剪切板功能。

方法一:在终端查看

  • 在终端输入 vim --version | grep clipboard 回车:
jpch89@jpch89-Ubuntu:~$ vim --version | grep clipboard
+clipboard         +jumplist          +persistent_undo   +virtualedit
-ebcdic            +mouseshape        +statusline        +xterm_clipboard
  • 假如 clipboard 前面都是 - 号,说目前还不支持系统剪切板功能,请继续看下一节,如果都是 + 号,可以直接跳到最后一节。

方法二:在 Vim 中查看

  • 在终端输入 vim 回车进入 Vim
  • 输入 :echo has('clipboard') 回车
  • 假如显示的是 0 则不支持系统剪切板,请继续看下一节,假如显示为 1 则支持系统剪切板,可以直接跳到最后一节。

2. 开启系统剪切板功能

  • 开启系统剪切板功能的方法也有很多,比较正统的应该是重新编译安装 Vim 源码,因为我怕麻烦(水平渣),所以选择简单的方法,即安装 vim-gnome
  • 一行指令即可搞定,在终端输入 sudo apt install vim-gnome -y 回车。
  • 此时再次使用上述的两个方法验证,发现 Vim 已经支持系统剪切板功能。

3. 系统剪切板功能的使用

3.1 从终端复制到 Vim 文件

  • 先在终端复制一句话,比如 print('Hello, world!')
  • vim hello.py 回车。
  • :reg + 查看系统剪切板,如下图所示:
  • "+p 粘贴,成功:

3.2 从 Vim 文件复制到终端

  • 先在 Vim 里面复制一句话,比如 ls
  • ctrl + alt + t 新开一个终端,ctrl + shift + v 粘贴,成功!

注意:这里如果把 Vim 所在终端关闭的话,就没法粘贴了!


3.3 设置系统剪切板为默认寄存器

  • Vim 中默认寄存器为无名寄存器(""),我们可以通过修改 vimrc 文件让它使用系统剪切板作为默认寄存器,以后不就不用每次都加 "+ 前缀了。
  • 加入这一行到配置文件 set clipboard^=unnamed,unnamedplus,搞定!

至于这行配置为什么这么写,主要是为了跨平台通用,具体如何我也没有去仔细研究,有兴趣的朋友可以参考下面的链接: stackoverflow.com/questions/3…


完成于 2019.6.27