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

2016-11-27 20:41:20 +08:00
 r0ck3r

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

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

还请讲下原理啊。。。

3157 次点击
所在节点    Vim
9 条回复
huobazi
2016-11-27 21:01:25 +08:00
skydiver
2016-11-27 21:27:19 +08:00
Google 一些就能找到解决方法啊……

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

我反而感觉不共享的话有两个剪贴板,比一个好。。。
r0ck3r
2016-11-28 02:43:43 +08:00
找到原因了,[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
2016-11-28 09:38:28 +08:00
倒是想问下你们有没有碰到 Terminal 下 tmux 一窗分屏的话字符串屏的问题

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

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

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

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

© 2021 V2EX