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

如何在 mac 机器上,把 terminal 里面, vi 打开的文本内容拷贝出来?

  •  
  •   yazoox · 2018-03-16 09:00:09 +08:00 · 5104 次点击
    这是一个创建于 2439 天前的主题,其中的信息可能已经有所发展或是发生改变。

    iMac 和 Mac Book Pro

    终端是自带的 terminal and iTerm

    用 vim 打开本地的一个文本,或者 ssh 到远程的 linux 上面,用 vi 打开一个文件

    这个时候,我想把文本里面的某段文字 /代码,拷贝出来(然后贴到浏览器里面去查找等等)

    但是我怎么都拷贝不出来。google 了好多设置,都不行。

    是不是有个啥窍门我没有掌握?

    注: 本地 mac 和远程 linux 的 vi 设置里面,我都添加了 set clipboard=unnamed

    第 1 条附言  ·  2018-03-16 13:50:08 +08:00
    找到根本原因了,我的 mac 默认的 vim 版本是 7.3,然后编译参数是 -clipboard 的
    vim --version | grep clipboard

    所以,我尝试了一下
    `brew uninstall vim`

    然后
    `brew update`
    `brew install vim --with-override-system-vi`

    这个时候,会安装最新版的 vim 8.0,这个默认是编译进+clipboard

    此时,帖子里各位兄弟用的方法,都可以把内容拷贝到剪贴板里面了。

    p.s. 我还没有尝试远程 ssh linux 机器
    19 条回复    2018-03-16 12:06:48 +08:00
    jecshcier
        1
    jecshcier  
       2018-03-16 09:05:41 +08:00 via iPhone
    为什么我通常 command c 就复制出来了。。。。
    magic3584
        2
    magic3584  
       2018-03-16 09:06:20 +08:00
    cat test.txt
    i_have_to_pee
        3
    i_have_to_pee  
       2018-03-16 09:13:55 +08:00
    是不是开了 tmux ?按住 opt 再选中再复制试试
    codeplay
        4
    codeplay  
       2018-03-16 09:16:01 +08:00 via iPhone
    用鼠标不行吗?
    wu67
        5
    wu67  
       2018-03-16 09:48:46 +08:00
    你需要 iterm2,选中即复制
    dmg206
        6
    dmg206  
       2018-03-16 09:52:20 +08:00
    试一下用 vim 的复制命令,比如:yy
    yuuko
        7
    yuuko  
       2018-03-16 10:09:38 +08:00 via Android
    "+yy 试试
    huhutian
        8
    huhutian  
       2018-03-16 10:24:04 +08:00
    gg shift+v shift+g yy 试试
    tempdban
        9
    tempdban  
       2018-03-16 10:25:12 +08:00
    为什么我通常 command c 就复制出来了。。。。
    locktionc
        10
    locktionc  
       2018-03-16 10:27:50 +08:00
    按住键盘的 Alt ( Option )键,然后鼠标选中,然后 Command + C.搞定。
    ZZZZone
        11
    ZZZZone  
       2018-03-16 10:36:09 +08:00 via Android   ❤️ 1
    可以在.vimrc 中添加配置 设置 ctrl - c 复制到系统剪切板

    "复制粘贴控制
    nmap<C-A> ggvG
    vmap<C-C> "*y
    nmap <C-v> c<ESC>"+p
    imap <C-v> <ESC>"+pa


    顺便附上我的 vimrc 配置, [三平台 vimrc 配置]( https://github.com/ZZZZone/ZZZZone-vimrc)
    kevin1852
        12
    kevin1852  
       2018-03-16 10:57:37 +08:00
    LS 说的很全面
    yazoox
        13
    yazoox  
    OP
       2018-03-16 10:57:58 +08:00
    @jecshcier 我试过,用鼠标选中 vim 中需要拷贝的内容,按 command+c,然后再去浏览器里面 command+v,没有用。
    @codeplay 如上,不行
    @dmg206 @yuuko 我不知道你们俩说的是不是同一样。
    我的方法是:按 v 进行 visual mode,然后选择我要拷贝的内容,直接按下 yy,然后去浏览器中 command+v,没有内容
    @wu67 我用的是 iTerm2 build 3.1.5,试过了,不行。
    macroideal
        14
    macroideal  
       2018-03-16 11:04:25 +08:00
    /Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl a.txt
    macroideal
        15
    macroideal  
       2018-03-16 11:07:58 +08:00
    cat a.txt | pbcopy
    yazoox
        16
    yazoox  
    OP
       2018-03-16 11:14:39 +08:00
    @ZZZZone 汗!按你的设置我尝试了一下,不行......
    奇怪,是哪里设置的问题么?
    reid2017
        17
    reid2017  
       2018-03-16 11:19:08 +08:00
    要按住 options 键,然后选中即复制。
    ZZZZone
        18
    ZZZZone  
       2018-03-16 11:25:31 +08:00 via Android
    @yazoox
    嗯。。。 试一下添加这行配置看看

    " 共享剪贴板

    filetype plugin on

    ———— 分割线————
    也有可能楼主说的是使用 vi, 但是这个是 vim 配置。 不知道 vi 是否兼容 vim 配置? 毕竟 vim 是 vi 的升级版, 我不太了解。
    建议使用 vim 打开试一试?
    sinxccc
        19
    sinxccc  
       2018-03-16 12:06:48 +08:00
    CMD-r,或者菜单里 view-> allow mouse reporting 关掉试试看?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1043 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 20:40 · PVG 04:40 · LAX 12:40 · JFK 15:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.