os x 下 vim 无法复制到系统剪切板的问题

2014-01-09 15:07:53 +08:00
 guoqiao
我习惯直接在 Terminal 中使用 vim, 而不是 macvim.

经常需要将 vim 中的内容复制到网页或其他文本中.
但是, 无论是

"+y

还是

"*y

都无法将选中的内容复制到系统剪切板.

我在 vim 的配置文件中设置了

set clipboard=unnamed

我的电脑是Macbook Air 2013, 系统是 os x mavericks 10.9.1
同样的配置, macvim 毫无问题.
23253 次点击
所在节点    程序员
30 条回复
guoqiao
2014-01-10 04:14:07 +08:00
@Esay 我之前没说清楚, 我其实尝试了两种方式:
1. 使用vim寄存器 + 或者 * 来复制到系统剪切板. 例如选中文本后, 按下 "+y 就表示复制到 + 这个寄存器, 一般来说, 就可以复制到系统剪切板了. 有的系统上是 *
2. 在 vimrc 中 set clipboard=unnamed 中之后, vim 就会使用系统剪切板, 这种方式更方便一些, 只是你就失去了 vim 的独立剪切板.
guoqiao
2014-01-10 04:16:44 +08:00
@likuku 一般情况下,像你说的这样就可以了. 我之前在 ubuntu 上就是这么用的. 但是到了 os x 上就是不成功. 目前看来是我之前的 vim 7.3 不支持系统剪切板.
guoqiao
2014-01-10 04:19:04 +08:00
@FrankFang128 折腾确实累人. 但是无需鼠标运指如飞的快感也确实让人上瘾...
guoqiao
2014-01-10 04:21:43 +08:00
谢谢大家, 结贴了.
解决了这个麻烦, 工作效率又提升了!
guoqiao
2014-01-10 04:59:21 +08:00
总结一下这个问题.
我的系统里其实有三个 vim:

1. 系统自带的, 可执行程序是 /usr/bin/vim, 安装目录是 /usr/share/vim/, 版本7.3.

2. 我使用 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

3. 为了解决剪切板的问题, 我安装了 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 了, 问题也解决了.

希望对遇到此问题的同学有帮助. 再次谢谢大家!
soli
2014-01-10 22:18:17 +08:00
soli
2014-01-10 22:28:23 +08:00
Mac + tmux + Vim 用户的解决方案在这里:

https://coderwall.com/p/j9wnfw
spark
2014-02-07 09:53:41 +08:00
今天重装系统的时候发现收藏的一个链接, 之前回复楼主时没注意, 补充一下, 基本思路是一样的:

Upgrading Vim on OS X
http://prioritized.net/blog/upgrading-vim-on-os-x/
guoqiao
2014-02-07 15:31:43 +08:00
@spark 多谢. 解决了 vim 的问题后,工作更轻松了, 哈哈.
zjyExcelsior
2018-01-16 12:00:56 +08:00
@spritevan 完美,感谢~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/96300

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX