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

为什么 macOS 下 tmux 里 vim 没有"*寄存器了?

  •  
  •   r0ck3r · 2016-11-27 20:41:20 +08:00 · 3161 次点击
    这是一个创建于 2921 天前的主题,其中的信息可能已经有所发展或是发生改变。

    vim 跟系统共享剪切板是很需要的,本来set clipboard=unnamed用的好好的,结果到了 tmux 里竟然失效了!! 打开寄存器一看,没了"*寄存器,为什么会这样?

    Ubuntu没问题(有X11),macOS里出现的这个情况。另外我用的macvim,+clipboard, -X11

    还请讲下原理啊。。。

    9 条回复    2016-11-28 09:38:28 +08:00
    huobazi
        1
    huobazi  
       2016-11-27 21:01:25 +08:00 via iPhone
    skydiver
        2
    skydiver  
       2016-11-27 21:27:19 +08:00
    Google 一些就能找到解决方法啊……

    brew install reattach-to-user-namespace
    skydiver
        3
    skydiver  
       2016-11-27 21:27:29 +08:00
    @skydiver 一下
    r0ck3r
        4
    r0ck3r  
    OP
       2016-11-27 21:43:03 +08:00
    @skydiver 我想知道原理
    r0ck3r
        5
    r0ck3r  
    OP
       2016-11-27 21:43:24 +08:00
    @skydiver 帖子是不少
    r0ck3r
        6
    r0ck3r  
    OP
       2016-11-27 21:44:55 +08:00
    在看 vim doc 了, mac 里没有了 x11 好像情况有点变化,不过真不想装一个 xquartz ,每次开 vim 后台跑一个 x server
    fy
        7
    fy  
       2016-11-27 21:47:11 +08:00
    > vim 跟系统共享剪切板是很需要的

    我反而感觉不共享的话有两个剪贴板,比一个好。。。
    r0ck3r
        8
    r0ck3r  
    OP
       2016-11-28 02:43:43 +08:00   ❤️ 1
    找到原因了,[Chris Johnsen]( https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard)解释的非常清楚。

    osx 里剪切板是一个用户登录进程上启动的一个服务, tmux 启动时从用户进程上 detatch 了,所以按照 osx 的权限设定无法访问剪切板服务。 Chris 的方法上重新把 shell 挂到用户登录进程上,所以 vim 就又可以访问系统剪切板了。

    至于 @huobazi 提到的没有`"+`寄存器,那是 X11 里才支持的东东, osx 的桌面系统不是 X11 所以 vim 默认上没有的,应该用`"*`访问剪切板。当然,除非你走 osx 里装一个 XQuartz ,让 vim 具有+X11 或+xterm_clipboard 属性,那就太费劲了,每次开 vim 后台得跑一个 X Server 。
    kkxxxxxxx
        9
    kkxxxxxxx  
       2016-11-28 09:38:28 +08:00
    倒是想问下你们有没有碰到 Terminal 下 tmux 一窗分屏的话字符串屏的问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5816 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 03:13 · PVG 11:13 · LAX 19:13 · JFK 22:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.