2

我在 OpenVMS V7.3-2 上使用 vim (7.1)。

我通过终端仿真器 SmartTerm 的 telnet 会话连接到 VMS。

它工作正常。

但是,当我从 VMS 会话(通过 SmartTerm 连接)到另一个 VMS 会话启动 telnet 会话时,某些键无法正常工作。

|--------------| telnet   |-------------| telnet   |-----------------|
|  Smartterm   | ------>  | VMS, Vim OK | ------>  | VMS, Vim broken |
|--------------|          |-------------|          |-----------------|

Insert、Delete、Home、End、PageUp 和 PageDown 在正常模式下类似于 ~(大写到小写,反之亦然)

任何的想法 ?

==============================================

编辑

我刚刚意识到我没有提到第二个远程登录会话在同一个 VMS 机器上。

我这样做是因为我需要使用其他用户的权限做某事。

4

5 回答 5

1

除了调整使用的终端仿真之外,学习 vim 的键击以执行您尝试执行的操作也是一个好主意。这些更可靠,不依赖于终端或键盘。例如:

  • 插入:我
  • 主页:^ 转到第一个非空白字符,0 始终转到第一列
  • 结束:$
  • PageUp, PageDown: ctrl-u, ctrl-d 一次移动半页
于 2008-10-31T17:29:51.447 回答
1

我在复活一个满是灰尘的旧 Solaris 盒子时遇到了类似的问题。我懒得去寻找我应该如何t_正确设置我的 ... 变量,所以我重新映射了错误的终端转义序列:

:map xxx 0          (press <C-v><Home> in place of xxx)
:map xxx <C-b>      (press <C-v><PgUp> in place of xxx)
... etc

如果你想正确设置这个该死的东西,RTFMing 可能会耗费一些精力和时间:

:h terminal-options
于 2008-11-02T19:15:12.297 回答
0

通常这是因为终端仿真 - 所以有些东西没有通过正确的键。自从我这样做以来已经有很长时间了,但是寻找像 VT-100 之类的东西。我怀疑它是特定于 vim 的,要么:)

抱歉,我无法提供更多帮助。

于 2008-10-31T17:23:43.940 回答
0

要问的第一个问题很简单:你坐在什么前面?您真的在运行 OpenVMS 的 VAX 或 Alpha 控制台上吗?我的猜测是答案是否定的。

万一答案是肯定的,只需输入:

$ 显示终端

并确保远程 UNIX 主机上的 TERM 变量与此完全匹配。

如果我的猜测是正确的,并且您正坐在运行某种终端仿真器(如 PuTTY 或 Terminal)的 PC 或 Mac 前,那么您需要探索您的软件选项,以确保它所模拟的终端正确反映在两者中VMS 系统的世界观和远程 UNIX 主机的世界观。

一旦你弄清楚你正在模拟什么样的终端,在你连接的 VMS 系统上再次使用上面的 VMS 命令以确保匹配。

如果没有,只需键入以下内容来纠正这种情况:

$ SET TERMINAL/DEVICE=(你的终端名称 - 例如 vt100)

然后确保远程 unix 主机上的 TERM 与 VMS 系统设置的匹配。

完成所有这些操作后,一切都应该正常。

于 2008-10-31T18:05:50.253 回答
0

除了如何在终端设备兼容性上设置环境变量之外,关于 telnet 客户端本身的提示可能会很有用:

在通常的 Esc 组合之前使用 Ctrl+[,例如退出 vim

Ctrl+[ Esc :q!
于 2012-05-01T18:28:20.170 回答