Vim _ 同步系统 ClipBoard (提前检查特性)

Vim 同步系统 ClipBoard

如何打通 vim 的寄存器和 Desktop 系统的 ClipBoard, 记得很久之前处理过 Vim 不支持系统粘贴板的问题,
今天新装了系统, 再次碰到了, 以为自己的 装机配置脚本出问题了, debug 了一阵子, 然后才想起原因,
当时太忙没有写博客记录, 今天必须记下来 (最重要的还得修改装机脚本) , 避免下次再遇到 T_T.

如何同步系统 ClipBoard

vim ~/.vimrc, 追加以下内容:

set clipboard=unnamedplus

前提

但是, 上面的配置的前提是: 提供 vim 的包需要支持这个特性,
而 Manjaro 默认的 vim 包是不支持这个特性的, 特性支持可以这样检查:

➜  vim --version | grep clipboard
-clipboard +keymap +printer +vertsplit
+eval -mouse_jsbterm -sun_workshop -xterm_clipboard

如何处理

可以删除 vim 包, 转而安装 gvim 包.

pacman -R vim
pacman -S gvim

完成后, 再看看特性, 已经支持了:

➜  vim --version | grep clipboard
+clipboard +keymap +printer +vertsplit
+eval -mouse_jsbterm -sun_workshop +xterm_clipboard

-clipboard 变成了 +clipboard.

查看 vim 寄存器和系统 ClipBoard

在 vim 中 yank 字符串, 假设 yank 了 set 这个字符串, 然后检查寄存器,
可以看到 The unnamed register 已经有了 set 字符串:

:reg
Type Name Content
c "" set

然后可以在系统 Desktop 文本编辑器, Ctrl + V 或右键选择粘贴内容, 可以发现 set 字符串已经在 ClipBoard 了.