0

所以我ssh进入了我们工作中的这个旧盒子,似乎以前没有人尝试过在它上面使用 Vi。当我尝试在 vi 中打开一个文件时,我得到的只是文件的一行,而且它有点搞砸了(视觉上)终端。

全终端

相关终端

我是ssh从 Mac 上输入的,如果这会有所不同(但是我ssh工作的其他服务器都很好)。

当我跑步时,uname -a我得到:Linux dev 2.6.32.27-grsec #5 SMP Thu Dec 30 01:24:01 PST 2010 i686 unknown unknown GNU/Linux. 我正在使用bash,但如果有其他方法可行,我会全力以赴。

这必须发生在其他人身上,我错过了什么导致这个问题的设置?

谢谢!

更新:经过评论研究,我发现这只是 vi 的问题,而不是 vim。所以这引出了一个问题,这只是与 vi(不是 vim)和当前 ssh/终端/shell 的不兼容,还是发生了其他事情?

已解决:这是一个回车 -> 旧 vi 无法正确处理的新行问题。使用参数运行stty以将回车符转换为新行允许 vi 正常工作。希望这对无法升级到 vim 的人有所帮助。

4

2 回答 2

2

Elvis(或 vi)可能受终端属性控制。我的猜测是 vi 会开始工作,如果你stty onlcr. 请参阅如何在 gnu 屏幕中切换 CR/LF?

于 2013-06-01T21:48:04.530 回答
1

Elvis是一个旧的 vi 克隆(2.2.0 于 2003 年发布),它曾经随某些发行版一起提供,以提供viUNIX 标准所需的命令。

从未使用过它,而且我认为与猫王有直接经验的人中很少有人仍在使用它,因此您在这里获得权威答案的机会非常渺茫。

您可以做的一件事是阅读$ man elvis$ elvis --help查看 Elvis 是否在启动时带有一些旨在使其与 vi 兼容的特定参数。或者看看它是否可以使用使其更可行的特定参数启动。

无论如何,vi 和 elvis(无论是老旧的,要么完全死了,要么没有积极维护)都无法与 Vim 相提并论。如果你打算在这台机器上做任何严肃的工作,我建议你安装一个最近的 Vim(最新的稳定版本是 7.3),忘记所有关于 Elvis 的事情。

于 2013-06-02T06:23:46.663 回答