我使用 SSH 通过 macOS 终端连接到 Debian。因此,如果我“按上、右、下、左”,就会出现此问题:
$ ^[[A^[[C^[[B^[[D
同时本地终端一切正常。
Esc+、Option+ 和Ctrl+ 没有帮助。
我该如何修复它?
答案1
在 Unix 风格的终端上,箭头之类的特殊键是各个程序的责任。
在 Debian 主机上,您使用的 shell 不支持箭头键 — — 最有可能,/bin/sh
或者是同样“最小”的功能。
尝试启动bash
或zsh
。如果其中一个有效,请使用 使设置永久生效chsh
。
答案2
这个问题非常烦人,并且出现在 iTerm2 中。对于我来说,它通过以下方式修复:
https://coderwall.com/p/gfmwlw/fixing-arrow-keys-in-iterm-2
如果该页面消失,则步骤如下:打开 iTerm2:
- 偏好设置… → 配置文件 → 默认 → 按键
- 选择左键option (⌥)功能: + Esc。
- 双击⌥←热键,对于操作,选择发送转义序列并
b
在输入字段中写入。 - 双击⌥→热键,对于操作,选择发送转义序列并
f
在输入字段中写入。
奖金:
- 行首:Ctrl+a
- 行尾:Ctrl+e
提示:
- 如果这是远程
vi
问题,请注意常规 vi 不支持箭头键,但有些系统支持alias
vi
,vim
有些则不支持(因此您可能习惯于运行vi
但得到 vim_。 - TL;DR - 尝试运行
vim
以查看您的导航问题是否已解决,然后根据需要设置别名。
答案3
您可能需要设置(或更改)TERM
环境变量的值。也许您的 Debian 主机无法识别您设置的值。尝试将其更改为xterm-256color
、xterm-color
、xterm
、ansi
或vt100
,然后运行/usr/bin/reset
。例如:
$ TERM=xterm ; export TERM
$ reset
您还可以尝试进入 Mac OS Terminal.app 的“首选项”并更改“将终端声明为……”。
xterm-256color 配置文件相对较新,如果您使用的是旧版 Linux,则可能还不知道它。同样,如果您已TERM
设置为linux
或console
,Terminal.app 可能无法识别它。