如何解决 Mac 下 vim 中无法使用 commad+c/v 来复制粘贴

2020-03-02 10:22:42 +08:00
 lanceadd

各位巨佬好! 我配置了 vim 以后启用了 set mouse=a,开启了鼠标定位 但是这样我就没法直接鼠标选中一段文本,然后 command+c 去复制了,但是不开鼠标定位又有点不方便 我百度的结果是

set clipboard=unnamed
以及
vmap <C-x> :!pbcopy<CR>   
vmap <C-c> :w !pbcopy<CR><CR>

结果是没用,然后我又:h 查了一下文档,也没找到,求巨佬教育

3785 次点击
所在节点    Vim
17 条回复
tingyunsay
2020-03-02 10:36:31 +08:00
我记得用 y 和 p 来复制粘贴吧,要不然鼠标左键选中,直接 command c/v 没试过…
dongyx
2020-03-02 10:40:16 +08:00
一般来说,主流的用法是,+寄存器表示系统粘贴板。所以复制到系统使用"+y,从系统粘贴使用"+p。特别注意,某些包管理器比如 macports,提供的 vim 默认没有编译此项功能,安装的时候需要显式指定。

不知道楼主的非主流用法,用意何在,为什么希望这样?
Chry3anthemum
2020-03-02 10:41:30 +08:00
map <C-v> "+gP
map <C-c> "+y
Chry3anthemum
2020-03-02 10:42:39 +08:00
@dongyx #2 原文:“一般来说,主流的用法是,+寄存器表示系统粘贴板。所以复制到系统使用"+y,从系统粘贴使用"+p。特别注意,某些包管理器比如 macports,提供的 vim 默认没有编译此项功能,安装的时候需要显式指定。不知道楼主的非主流用法,用意何在,为什么希望这样?”
======
回复:map 的存在就是可以每个人个性化,问出这种问题无可厚非。
lanceadd
2020-03-02 10:47:43 +08:00
@dongyx 不是非主流,之前只是偶尔用用 vim,前天开始捣鼓一下,然后按照原来的使用习惯的话,蛮多不适应的,但是像 cv 大法的话还是比较实用的所以来问问有没有办法解决,我在 macvim 里发现了
```
if exists("macvim_hig_shift_movement")
" Shift + special movement key (<S-Left>, etc.) and mouse starts insert mode
set selectmode=mouse,key
set keymodel=startsel,stopsel

```
我以为 vim 里面也会有的,结果发现没有,有点可惜
colors
2020-03-02 10:48:10 +08:00
"鼠标选中文本复制" 这个问题, Mac 下用 iterm2, 可以配置鼠标选中自动复制
hfpp2012
2020-03-02 10:49:31 +08:00
有配置项的
lanceadd
2020-03-02 10:52:47 +08:00
@colors 自带的 terminal 对我来说已经够用了,楼上老哥 @Chry3anthemum 的方法很管用,要学的东西还蛮多的,继续捣鼓
lanceadd
2020-03-02 10:53:45 +08:00
@Chry3anthemum 哇,谢谢巨佬,看来我还得继续学习配置
lanceadd
2020-03-02 10:55:19 +08:00
@hfpp2012 老哥可以给个链接吗
itskingname
2020-03-02 11:11:08 +08:00
按住键盘上的 Alt 键( Mac 应该是 Option 键),就可以用鼠标选中了。
dongyx
2020-03-02 11:13:10 +08:00
@Chry3anthemum 我只是想了解他为什么这样,以便我更好地理解问题并提供帮助,没有任何 judgement.
dongyx
2020-03-02 11:16:03 +08:00
@Chry3anthemum 毕竟很多朋友可能会陷入 A->B problem 里面,想要解决 A,但是假定了通过解决 B 可以解决 A。但是也许更好的方法是 A->C。所以我才想多了解一下。可能网上的文字看不到语气和表情,让大家以为我带情绪了。
lanceadd
2020-03-02 11:31:24 +08:00
@dongyx 感谢大佬的回复,我只是瞎折腾而已,设置
```
set clipboard=unnamed
```
之后用 y 复制
楼上老哥绑定的
```
map <C-v> "+gP
map <C-c> "+y
```
我都行,就是尝试一下
Goooogle
2020-03-02 11:42:51 +08:00
" Copy to/Paste from system's clipboard----------------------------------{{{
vnoremap <c-c> "+y
" "+p for paste clipord, gp for move cursor after pasted text
inoremap <c-v> <esc>"+gpi
" }}}
angel001ma
2020-03-02 17:40:39 +08:00
为啥我的可以,用的 iterm2,打开 vi
hfpp2012
2020-03-02 18:30:53 +08:00
@lanceadd 我忘了,你自己看我的配置吧

https://github.com/hfpp2012/vimconf

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

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

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

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

© 2021 V2EX