在 Vim 里直接使用 p 键粘贴剪切板里的内容

使用 Vim 的同学都知道,p 键粘贴的是存放在 Vim 寄存器里面的内容,而寄存器并不一定是系统的剪切板。那么有办法可以让 p 键直接粘贴系统剪切板里的内容吗?

对 Vim 稍微熟悉点的同学应该知道,Vim 里有非常多的寄存器,其中系统剪切板在 Vim 中也是其中一个寄存器,只不过默认 p 是不使用这个寄存器,所以要显式指定(在浏览模式下输入 "*p,其中 " 告诉 Vim 要指定寄存器,* 是寄存器名称,有些系统是 +p 就是粘贴)系统剪切板寄存器来复制剪切板内容。

而在 Vim 关于 clipboard 参数有一句话提到:如果给 clipboard 设置了 unnamed,那么默认寄存器就变成了 * !!

需要注意的问题

不是所有的 Vim 都支持系统剪切板,比如 OSX 自带的 Vim,如果你发现上面的设置无法生效,甚至报错,或者寄存器 *(或者 +)也无法从系统剪切板里复制内容,那么很有可能是因为当前 Vim 并没有把支持系统剪切板的功能编译进去,您可以尝试使用如下命令检查

以我的 Mac 自带的 Vim 执行结果为例子:

可以看到 clipboard 选项并不支持。

Mac 下解决这个问题也非常简单,安装 MacVim,或者通过 homebrew 另外安装一个支持 clipboard 的 Vim 即可:

wx pay

CC BY-NC-ND 4.0 在 Vim 里直接使用 p 键粘贴剪切板里的内容 by Chrisyue's Blog is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

发表评论

电子邮件地址不会被公开。

× four = twenty eight