13 我使用的是Mac,因此键盘上没有Home和End键。我也将SSH连接到Linux服务器。我发现当我SSH到运行Jaunty的Ubuntu Linux服务器时,我可以使用readline键绑定Ctrl- a和Ctrl- e将光标移动到行的开头或结尾,但是我经常会遇到几个Hardy服务器SSH至,并且这些键绑定在连接到它们时不起作用。 我尝试从Linux机器连接到它们,以防万一这与配置Mac Terminal的方式有关,并且我看到了相同的结果。 有谁知道为什么,以及如何解决这个问题? linux bash shell readline — 理查德·特纳 source
22 只是一个想法,但尝试输入此内容并重试命令: set -o emacs 如果可行,请将设置放入〜/ .bashrc文件中以自动加载。 如果您更喜欢vi(m),则可以执行以下操作: set -o vi 但是请注意,vi绑定不如emacs完整。 — Telemachus source
4 找到了答案!/etc/bash.bashrc包含set -o vi在其中,由于某种原因,它阻止了Ctrl-e和Ctrl-a的工作。 — 理查德·特纳 source 5 该set -o vi命令使Bash使用Vim绑定。默认为Emacs样式绑定。因此,它不是“出于某种原因”,而是set -o vi调用了一套完全不同的Readline选项。请参阅我的答案,了解如何即时启动。 — Telemachus 1 太好了,谢谢。我意识到Bash已设置为使用vi绑定,但没想到会阻止Ctrl-a和Ctrl-e正常工作。我没有意识到关闭vi绑定的方法是设置emacs绑定。 — 理查德·特纳
set -o vi
命令使Bash使用Vim绑定。默认为Emacs样式绑定。因此,它不是“出于某种原因”,而是set -o vi
调用了一套完全不同的Readline选项。请参阅我的答案,了解如何即时启动。