当我 ssh 进入远程服务器并使用 VIM 编辑文件时,事情变得非常奇怪

当我 ssh 进入远程服务器并使用 VIM 编辑文件时,事情变得非常奇怪

例如,当我按“I”进入插入模式,然后使用箭头键在行中移动时,左箭头最终会在我打算编辑的行上方插入字母“D”,右箭头会插入“C”等等。这是服务器配置问题、SSH 问题、vim 问题还是其他什么?任何建议都值得赞赏,我知道这不完全是一个编程问题,但我不确定在哪里可以找到它。

答案1

这是终端类型问题。创建远程连接的窗口没有正确提供可理解的终端类型。或者主机无法识别终端类型,因此转向 vt100 或类似的东西。

需要特定的 ssh 客户端和平台以及主机类型才能获得详细帮助,但是一旦您连接并登录,但在启动 vim 之前,请键入echo $TERM。如果它是空白的或损坏的,请尝试将其设置为 xterm,看看 vim 是否运行得更好。

答案2

该页面说手动设置 TERM 变量几乎不是一个好主意,并提出了一些替代方法:

https://wiki.archlinux.org/title/Home_and_End_keys_not_working

果然,对我来说,只是取消设置我的 TERM 变量解决了这个问题,此外还解决了终端颜色等其他问题。

答案3

您的本地终端和远程端的$TERM设置不匹配。将您的客户端配置为 VT110、VT220 或 VT525(越高越好),然后将$TERM远程端设置为相同的值。

答案4

在您的主目录的文件中添加以下行.profile

TERM=xterm-color

相关内容