1

两个客户端都是使用 cygwin 连接到 Ubuntu 机器的 Windows 7。

从 ClientA 我通过 ssh 连接到 Ubuntu 机器,启动屏幕会话,然后打开 vim。然后我键入:E打开 netrw 目录列表。按<ENTER>目录导航,世界上一切都很好。我断开与 Screen 会话的连接。

从 ClientB,我通过 ssh 连接并恢复屏幕会话,vim 已经打开。我按下<ENTER>一个目录,而不是打开目录,而是将光标向下移动一行。好像我按下了j<DOWN>。按下^M做同样的事情。没有一个目录可以导航到。另外,如果我打开了一个文件并且我处于插入模式,我必须按两次退出键才能返回正常模式。

仍然在 CLientB 上,我退出了 vim :q(是的,输入:命令时输入有效)。然后我重新打开 vim 并再次使用 netrw :E。现在一切都按照它应该的方式工作:按下<ENTER>导航目录,当我编辑文件时,我只需要按下^[或转义一次就可以工作。

如果我从 ClientB 断开并再次与 ClientA 连接,那么 vim 将无法再次正常工作,直到我退出 vim 并重新启动它。

我尝试输入:set以查看所有设置的选项,但是当从 ClientA 或 ClientB 连接时启动 vim 时,这些设置之间没有区别。

发生了什么事,我该如何解决?

谢谢!

4

1 回答 1

0

在 cygwin 中,我需要转到选项 > 终端并确保两个客户端都设置为相同的类型(例如 xterm-256color)。

不同的终端类型对键使用不同的转义序列,并且不匹配导致了问题。

于 2014-05-08T14:43:33.560 回答