Ctrl-e和Ctrl-a在Ubuntu Hardy上不起作用?


13

我使用的是Mac,因此键盘上没有HomeEnd键。我也将SSH连接到Linux服务器。我发现当我SSH到运行Jaunty的Ubuntu Linux服务器时,我可以使用readline键绑定Ctrl- aCtrl- e将光标移动到行的开头或结尾,但是我经常会遇到几个Hardy服务器SSH至,并且这些键绑定在连接到它们时不起作用。

我尝试从Linux机器连接到它们,以防万一这与配置Mac Terminal的方式有关,并且我看到了相同的结果。

有谁知道为什么,以及如何解决这个问题?

Answers:


22

只是一个想法,但尝试输入此内容并重试命令:

set -o emacs

如果可行,请将设置放入〜/ .bashrc文件中以自动加载。

如果您更喜欢vi(m),则可以执行以下操作:

set -o vi

但是请注意,vi绑定不如emacs完整。


4

找到了答案!/etc/bash.bashrc包含set -o vi在其中,由于某种原因,它阻止了Ctrl-e和Ctrl-a的工作。


5
set -o vi命令使Bash使用Vim绑定。默认为Emacs样式绑定。因此,它不是“出于某种原因”,而是set -o vi调用了一套完全不同的Readline选项。请参阅我的答案,了解如何即时启动。
Telemachus

1
太好了,谢谢。我意识到Bash已设置为使用vi绑定,但没想到会阻止Ctrl-a和Ctrl-e正常工作。我没有意识到关闭vi绑定的方法是设置emacs绑定。
理查德·特纳
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.