之前我能够使用Up/Down箭头键循环执行之前的命令,但现在当我按下方向键时,它会输出“^[[A”。我正在运行 bash shell。我该如何解决?
答案1
可能的问题是 bash (不是全屏程序)正在使用 termcap(用于全屏程序)并且不支持在键绑定中使用应用程序模式。
该问题可以通过以下方法之一解决:
- 硬编码绑定
.inputrc
(大多数 bash 用户采用的路线) - 选择不使用应用程序模式的终端描述(如
linux
和),或者rxvt
- 改进 bash 以便(就像 Debian 软件包一样
zsh
),它知道如何自动接受密钥,无论它们使用正常模式还是应用程序模式。
进一步阅读:
- Shell 技巧:.inputrc 绑定乐趣,说明硬编码
- 光标键在控制台上不起作用,提到
xterm-noapp
终端描述。 - 我的光标键不起作用(ncurses 常见问题解答)
- 特殊按键(xterm 手册,对比 bash 和 ksh)
答案2
尝试输入
set -o emacs