V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lanceadd
V2EX  ›  Vim

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

  •  
  •   lanceadd · 2020-03-02 10:22:42 +08:00 · 3796 次点击
    这是一个创建于 1731 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    不知道楼主的非主流用法,用意何在,为什么希望这样?
    Chry3anthemum
        3
    Chry3anthemum  
       2020-03-02 10:41:30 +08:00
    map <C-v> "+gP
    map <C-c> "+y
    Chry3anthemum
        4
    Chry3anthemum  
       2020-03-02 10:42:39 +08:00
    @dongyx #2 原文:“一般来说,主流的用法是,+寄存器表示系统粘贴板。所以复制到系统使用"+y,从系统粘贴使用"+p。特别注意,某些包管理器比如 macports,提供的 vim 默认没有编译此项功能,安装的时候需要显式指定。不知道楼主的非主流用法,用意何在,为什么希望这样?”
    ======
    回复:map 的存在就是可以每个人个性化,问出这种问题无可厚非。
    lanceadd
        5
    lanceadd  
    OP
       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
        6
    colors  
       2020-03-02 10:48:10 +08:00
    "鼠标选中文本复制" 这个问题, Mac 下用 iterm2, 可以配置鼠标选中自动复制
    hfpp2012
        7
    hfpp2012  
       2020-03-02 10:49:31 +08:00
    有配置项的
    lanceadd
        8
    lanceadd  
    OP
       2020-03-02 10:52:47 +08:00
    @colors 自带的 terminal 对我来说已经够用了,楼上老哥 @Chry3anthemum 的方法很管用,要学的东西还蛮多的,继续捣鼓
    lanceadd
        9
    lanceadd  
    OP
       2020-03-02 10:53:45 +08:00
    @Chry3anthemum 哇,谢谢巨佬,看来我还得继续学习配置
    lanceadd
        10
    lanceadd  
    OP
       2020-03-02 10:55:19 +08:00
    @hfpp2012 老哥可以给个链接吗
    itskingname
        11
    itskingname  
       2020-03-02 11:11:08 +08:00
    按住键盘上的 Alt 键( Mac 应该是 Option 键),就可以用鼠标选中了。
    dongyx
        12
    dongyx  
       2020-03-02 11:13:10 +08:00
    @Chry3anthemum 我只是想了解他为什么这样,以便我更好地理解问题并提供帮助,没有任何 judgement.
    dongyx
        13
    dongyx  
       2020-03-02 11:16:03 +08:00
    @Chry3anthemum 毕竟很多朋友可能会陷入 A->B problem 里面,想要解决 A,但是假定了通过解决 B 可以解决 A。但是也许更好的方法是 A->C。所以我才想多了解一下。可能网上的文字看不到语气和表情,让大家以为我带情绪了。
    lanceadd
        14
    lanceadd  
    OP
       2020-03-02 11:31:24 +08:00
    @dongyx 感谢大佬的回复,我只是瞎折腾而已,设置
    ```
    set clipboard=unnamed
    ```
    之后用 y 复制
    楼上老哥绑定的
    ```
    map <C-v> "+gP
    map <C-c> "+y
    ```
    我都行,就是尝试一下
    Goooogle
        15
    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
        16
    angel001ma  
       2020-03-02 17:40:39 +08:00
    为啥我的可以,用的 iterm2,打开 vi
    hfpp2012
        17
    hfpp2012  
       2020-03-02 18:30:53 +08:00
    @lanceadd 我忘了,你自己看我的配置吧

    https://github.com/hfpp2012/vimconf
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5486 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 09:11 · PVG 17:11 · LAX 01:11 · JFK 04:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.