1
xingxiucun 2014-01-09 15:19:14 +08:00 1
vim --version | grep clip
没有的话拿源码编 指定支持X什么的就可以 |
2
guoqiao OP @xingxiucun 貌似确实没有. 但是, 除了自己编译, 没有解决办法么?
vim --version | grep clip -clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments -xterm_clipboard -xterm_save |
3
spark 2014-01-09 15:29:48 +08:00
没遇到这问题, 我每次装新机都是这么操作的:
$ brew install macvim --override-system-vim |
4
xingxiucun 2014-01-09 15:36:33 +08:00
@guoqiao gvim 。。。 木有用过os x 不知道有木有别的办法
|
5
spritevan 2014-01-09 15:40:16 +08:00 1
1. terminal 里面按住 option 选好文字用 cmd+c 复制
2. `:w !pbcopy` #把**全文**发给剪切板 3. `:.w !pbcopy` #把**当前行**发给剪切板 4. 选中多行后 `:!tee >(pbcopy)` #把**选中行**发给剪切板 |
6
zhufenggood 2014-01-09 15:56:02 +08:00
alias vim="/Applications/MacVim.app/Contents/MacOS/Vim"
|
7
dalang 2014-01-09 16:27:52 +08:00 1
add the following codes to your .vimrc
map "+y :w !pbcopy<CR><CR> map "+p :r !pbpaste<CR><CR> " ctrl-x for cut vmap <C-x> :!pbcopy<cr> " ctrl-c for copy vmap <C-c> :w !pbcopy<cr><cr> " ctrl-v for paste "nmap <C-v> :set paste<CR>:r !pbpaste<CR>:set nopaste<CR> imap <C-v> <Esc>:set paste<CR>:r !pbpaste<CR>:set nopaste<CR> ** use ctrl-c ctrl-v when copy to clipboard in vim. ** |
8
likuku 2014-01-09 17:00:14 +08:00
尝试 ~/.vimrc 里加一行 set mouse=v 呢?
|
9
guoqiao OP @xingxiucun
@spark @zhufenggood 谢谢你们的答案, 我知道很多人会说用 gvim 或 macvim 取代 vim. 不过我不喜欢同时开太多工具. 对于做 web 开发的人来说, terminal 和浏览器是必定要开的. 在 terminal 中使用 vim, 只需要切换标签页. 而如果又开一个 macvim, 切换的成本太高了. 况且, ssh 操作服务器的时候, 只能用 vim, 本地也用 vim, 可以保持工作环境的一致性. 好吧, 也许是我强迫症. |
12
guoqiao OP @Esay 之前有点疑惑,他这个意思, 是使用 macvim 里带的 vim 取代系统的 vim 是吗? 我试了下, 还是复制不出来. "+y "*y 都不行
|
13
silverymoon 2014-01-09 20:48:43 +08:00
我也是和楼主一样的习惯,已经解决了。。。
用homebrew,brew install vim,安装的vim是编译开关打开的,之后自己找到安装的目录alias一下就好了。。。 mac不在身边,忘了brew的默认目录是啥了。。。 |
14
Esay 2014-01-09 20:55:22 +08:00 via iPhone 2
@guoqiao 啊
- 你先确定 which vim 确定一下用的哪个 vim - 然后 vimrc 里是否加了 set clipboard=unnamed 在我这里完全好用,不太懂你这是怎么复制的,我一般v+上下左右+y |
15
likuku 2014-01-09 23:18:21 +08:00 1
@Esay 我刚在macosx lione 10.7.5 下测了,
给 ~/.vimrc 里增加 set clipboard=unnamed 之后,开系统自带终端,打开 vim,yy 复制一行, 切换到 Chrome 的 URL/Search 框里 CMD+V 就把 vim 里 yy 复制的内容贴上了。 |
16
likuku 2014-01-09 23:19:36 +08:00
补充,我 用的 vim 是 macosx 自带的。
|
17
angelface 2014-01-09 23:43:45 +08:00
只能重新编译,或是装个macvim,不用想其它办法了,默认的7.3,下个7.4编译一下吧,3分钟都用不上。
|
18
silverymoon 2014-01-10 01:24:05 +08:00
@angelface brew里面有7.4的,用起来还好。
|
19
FrankFang128 2014-01-10 01:36:45 +08:00 via Android
VIM的硬伤
|
20
guoqiao OP @zhufenggood 用你的方法解决了, 多谢!
在 .profile 里加了 alias . 系统自带的 vim 是 7.3, macvim 带的 vim 是7.4的. 现在 vim --version | grep clip 的结果是: +clipboard +iconv +path_extra +transparency +eval +mouse_dec +startuptime -xterm_clipboard 并且 yy 后,可以直接复制到其它地方了! 我昨天在 Terminal 中新建了一个 tab 来尝试, 发现没成功. 今天唤醒休眠的电脑, 又新建个标签页试了下, 居然成功了. 我的 Terminal 程序以及电脑一直没有重启过, 搞不懂为何之前没成功. |
21
guoqiao OP @Esay 我之前没说清楚, 我其实尝试了两种方式:
1. 使用vim寄存器 + 或者 * 来复制到系统剪切板. 例如选中文本后, 按下 "+y 就表示复制到 + 这个寄存器, 一般来说, 就可以复制到系统剪切板了. 有的系统上是 * 2. 在 vimrc 中 set clipboard=unnamed 中之后, vim 就会使用系统剪切板, 这种方式更方便一些, 只是你就失去了 vim 的独立剪切板. |
22
guoqiao OP @likuku 一般情况下,像你说的这样就可以了. 我之前在 ubuntu 上就是这么用的. 但是到了 os x 上就是不成功. 目前看来是我之前的 vim 7.3 不支持系统剪切板.
|
23
guoqiao OP @FrankFang128 折腾确实累人. 但是无需鼠标运指如飞的快感也确实让人上瘾...
|
24
guoqiao OP 谢谢大家, 结贴了.
解决了这个麻烦, 工作效率又提升了! |
25
guoqiao OP 总结一下这个问题.
我的系统里其实有三个 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 了, 问题也解决了. 希望对遇到此问题的同学有帮助. 再次谢谢大家! |
26
soli 2014-01-10 22:18:17 +08:00
|
27
soli 2014-01-10 22:28:23 +08:00 1
|
28
spark 2014-02-07 09:53:41 +08:00
今天重装系统的时候发现收藏的一个链接, 之前回复楼主时没注意, 补充一下, 基本思路是一样的:
Upgrading Vim on OS X http://prioritized.net/blog/upgrading-vim-on-os-x/ |
30
zjyExcelsior 2018-01-16 12:00:56 +08:00
@spritevan 完美,感谢~
|