记得刚拿到手里这台macbook时,就解决过这个问题了,但最近突然发现又不好使,也忘记为什么了,只好再搜索下解决办法。可见当时只是知其然。
找到了这个帖子: os x 下 vim 无法复制到系统剪切板的问题。
许多热心的大神给出了解决方案,最后 @guoqiao 总结了解决方案:
总结一下这个问题. 我的系统里其实有三个 vim:
- 系统自带的, 可执行程序是 /usr/bin/vim, 安装目录是 /usr/share/vim/, 版本7.3.
- 我使用 homebrew 后顺手安装了一次 vim, 安装目录:/usr/local/Cellar/vim/, 版本7.4. 可执行程序是 /usr/local/Cellar/vim/7.4.052/bin/vim , 并且有一个指向它的链接: /usr/local/bin/vim -> ../Cellar/vim/7.4.052/bin/vim
- 为了解决剪切板的问题, 我安装了 macvim. 这样还会有一份 vim: /Applications/MacVim.app/Contents/MacOS/Vim, 版本7.4 执行 which vim 的结果: /usr/bin/vim 可见, 尽管我用 homebrew 以及 macvim 安装了新的 vim 7.4, 但是系统默认使用的还是自带的7.3的老版本. 而执行 /usr/bin/vim --version | grep clipboard 又发现, 这个版本不支持 clipboard. 这就是问题的根本原因. 我将 /usr/bin/vim 给重命名了一下, 此时再 which vim, 就指向 /usr/local/bin/vim 了, 问题也解决了. 希望对遇到此问题的同学有帮助. 再次谢谢大家!
补充一下:
-
which vim
可以看到当前使用的vim是哪个,vim --version
可以看到当前使用的vim支持哪些feature,'+'前缀表示拥有的feature,'-'前缀表示未拥有; - '+clipboard'是支持使用系统剪切板的feature;
- 如果你当前使用的vim不支持
clipboard
,那需要brew install view
装一个新的; - 安装新的以后,要把这个新的vim设置为默认vim,通常使用alias设置一下别名,或者通过环境变量设置,或者删掉旧的,做个软连接;
- 确认
+clipboard
以后,在.vimrc
文件中加入set clipboard=unamed
,就可以在vim中使用系统剪切板了;