通过ssh重新连接到tmux会话后,Vim密钥映射不工作



一点背景信息:我正在使用vimx(这是RedHat终端vim的X显示兼容版本,它使我能够在vim中使用+和* X剪贴板寄存器)。我做ssh到我的服务器(X转发使用-Y选项),并运行vim(即。Vimx)在tmux中。如果我分离tmux会话并在相同的ssh会话中再次附加到它,一切都可以正常工作。但是,如果我注销ssh会话并重新登录,然后连接到我的tmux会话(正在运行vim),那么vim键绑定和键映射(如ctrl+n用于新选项卡)和vim命令(如用于显示vim缓冲区的":buffers"或用于显示寄存器的":reg")将不再工作,直到我关闭vim并再次重新打开它。我怀疑这是vim和tmux中的X11显示问题,但是我无法找到vim或tmux中的问题。

问题总结及如何重现:

1) ssh到服务器:ssh -Y user@server

tmux -2

打开vimx: vimx myfile.cc

4) from tmux: ctrl+b d

5)注销SSH会话:在终端输入exit或按ctrl+d

连接服务器:ssh -Y user@server

tmux -2 attach

在步骤7中,我将重新连接到vimx会话,但是,我的vim密钥映射或vim命令现在都不起作用。(如果我关闭并重新打开vim,他们确实得到了修复,但在这种情况下,什么好的tmux是与vim远程工作?:))

无需重新启动vim,只需使用:source命令重新加载vimrc。

:所以~/. vimrc

这比重新启动更容易,甚至在编辑文件的过程中也能工作。

最新更新