【发布时间】:2014-08-19 05:47:38
【问题描述】:
一点上下文:我正在使用 vimx(这是 RedHat 终端 vim 的 X 显示可兼容版本,它使我能够在 vim 中使用 + 和 * X 剪贴板寄存器)。我对我的服务器进行 ssh(使用 -Y 选项进行 X 转发)并在 tmux 中运行 vim(即 vimx)。如果我分离 tmux 会话并在同一个 ssh 会话中再次附加到它,则一切正常。但是,如果我注销 ssh 会话并重新登录,然后附加到我的 tmux 会话(正在运行 vim),那么 vim 键绑定和键映射(如 ctrl+n 用于新选项卡)和 vim 命令(如 ":buffers " 用于显示 vim 缓冲区或 ":reg" 用于显示寄存器)在我关闭 vim 并重新打开它之前将不再起作用。我怀疑这是 vim 和 tmux 中的 X11 显示问题,但是我无法找到 vim 或 tmux 中的问题。
问题总结及重现方法:
1) ssh 到服务器:ssh -Y user@server
2) 打开一个新的 tmux 会话:tmux -2
3) 打开vimx:vimx myfile.cc
4) 与 tmux 分离:ctrl+b d
5) 注销 ssh 会话:在终端输入 exit 或按 ctrl+d
6) 重新连接服务器:ssh -Y user@server
7) 重新附加到 tmux 会话:tmux -2 attach
在第 7 步中,我将重新连接到 vimx 会话,但是,我的 vim 键映射或 vim 命令现在都不起作用。 (如果我关闭并重新打开 vim,它们确实会得到修复,但在这种情况下,tmux 对远程使用 vim 有什么好处?!:))
【问题讨论】: