在 OS X 上的 tmux 下运行时,“subl -w”永远不会解除阻塞

Ern*_*sto 5 terminal.app tmux sublime-text-2

在我的 Mac 上,我已$EDITOR设置为'subl -w'. 如果我在 tmux 下运行我的 shell 会话,它会很好地打开编辑器,但终端上的命令永远不会退出。但是,这本身在终端上以及在屏幕下都可以正常工作,因此它可能是 tmux 错误。

Ern*_*sto 9

这个问题的解决方案在于安装tmux MacOSX pasteboard,正如 Daniel Beck 在上面的评论中所指出的那样。关于这个的大部分解释都可以在上面的第二条评论中找到,为了清楚起见,我在这里复制:

“插件”实际上并不特定于粘贴板访问(尽管我用来发布它的存储库名称)。问题的出现是由于 OS X 处理其他 Unix-y 系统上不存在的特定新进程相关状态(“引导命名空间”)的方式。如果 OS X 提供了用于管理进程引导命名空间的公开 API,那么我会毫不犹豫地推荐(甚至编写)osdep-darwin.c 的补丁。但是,由于所需的功能没有记录并且是“私有的”,因此我避免建议对 tmux 本身进行任何更改。

克里斯·约翰森

所以我决定最终将它作为答案发布,尽管我不是最初设计它的人。感谢 Daniel 指出这一点,感谢 Chris Johnsen 在 Mac OS X 上为 tmux 编写此修复程序。