FreeBSD bash 历史记录:无法访问命令的最后一个符号

FreeBSD bash 历史记录:无法访问命令的最后一个符号

我正在使用一台旧服务器,运行修改后的 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”才能进入插入模式。

相关内容