Ctrl-e и Ctrl-a не работают на Ubuntu Hardy?

6669
Richard Turner

Я использую Mac, так что я не имею Homeи Endклавиши на клавиатуре. Я также SSH к серверам Linux совсем немного. Я обнаружил, что когда я подключаюсь по SSH к серверу Ubuntu Linux, на котором работает Jaunty, я могу использовать привязку клавиш readline Ctrl- aи Ctrl- eдля перемещения курсора в начало или конец строки, но есть несколько серверов Hardy, которые я часто SSH, и эти привязки клавиш не работают при подключении к ним.

Вместо этого я попытался подключиться к ним из окна Linux, просто на случай, если это было связано с настройкой моего терминала Mac, и я вижу те же результаты.

У кого-нибудь есть идеи, почему и как это исправить?

11

2 ответа на вопрос

18
Telemachus

Просто мысль, но попробуйте ввести это и повторить команды:

set -o emacs 

Если это работает, поместите параметр в файл ~ / .bashrc, чтобы загрузить его автоматически.

Если вы предпочитаете vi (m), вы можете сделать это:

set -o vi 

Обратите внимание, что привязки vi не так полны, как в emacs.

2
Richard Turner

Нашел ответ! Файл /etc/bash.bashrc был set -o viв нем, что по какой-то причине мешало работать Ctrl-e и Ctrl-a.

Команда `set -o vi` заставляет Bash использовать привязки Vim. По умолчанию это привязки в стиле Emacs. Таким образом, это не «по какой-то причине», а то, что `set -o vi` вызывает совершенно другой набор опций Readline. Смотрите мой ответ о том, как включить на лету. Telemachus 14 лет назад 4
Отлично, спасибо. Я понял, что Bash настроен на использование привязок vi, но не ожидал, что это предотвратит работу Ctrl-a и Ctrl-e. Я не осознавал, что способ отключить привязки vi - это установить привязки emacs. Richard Turner 14 лет назад 1

Похожие вопросы