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

11

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

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

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

Richard Turner
источник

Ответы:

19

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

set -o emacs

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

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

set -o vi

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

Telemachus
источник
2

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

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