我正在使用一台旧服务器,运行修改后的 FreeBSD 6.1 和 bash 2.05b.0(1)-release。
按下“向上”键时,历史记录中的最后一个命令会弹出 - 但我无法访问最后一个符号,就像字符串实际上比显示的字符短一个字符。因此退格键毫无用处,而删除键只会破坏最后几个字符。
终端是具有以下兼容选项的“终结者”:
- 退格键生成:Control-H
- 删除键生成:转义序列
我想知道这是此版本 bash 的正常行为,还是某种配置错误/终端兼容性问题。
Bash 选项如下:
# set -o
allexport off
braceexpand on
emacs off
errexit off
hashall on
histexpand on
history on
ignoreeof off
interactive-comments on
keyword off
monitor on
noclobber off
noexec off
noglob off
nolog off
notify off
nounset off
onecmd off
physical off
posix off
privileged off
verbose off
vi on
xtrace off
答案1
事实证明vi 模式在 .inputrc 中为系统上每个用户启用了此功能。但它的行为与我习惯的 zsh 中的 vi 模式略有不同 - 意思是 1) 按下“up”键时它会立即进入命令模式,2) 需要双击“a”或“i”才能进入插入模式。