Ctrl-e et Ctrl-a ne fonctionnent pas sur Ubuntu Hardy?

13

J'utilise un Mac, donc je n'ai pas de touches Homeet Endsur mon clavier. J'ai également fait un peu de SSH sur les serveurs Linux. J'ai constaté que lorsque je SSH vers un serveur Ubuntu Linux exécutant Jaunty, je peux utiliser les raccourcis clavier de la ligne de lecture Ctrl- aet Ctrl- epour déplacer le curseur au début ou à la fin de la ligne, mais il y a quelques serveurs Hardy que je souvent SSH vers, et ces raccourcis clavier ne fonctionnent pas lors de la connexion à eux.

J'ai essayé de me connecter à eux à partir d'une boîte Linux à la place, juste au cas où cela serait lié à la configuration de mon terminal Mac, et je vois les mêmes résultats.

Quelqu'un sait-il pourquoi et comment y remédier?

Richard Turner
la source

Réponses:

22

Juste une pensée, mais essayez de saisir ceci et de réessayer les commandes:

set -o emacs

Si cela fonctionne, placez le paramètre dans votre fichier ~ / .bashrc pour le charger automatiquement.

Si vous préférez vi (m), vous pouvez le faire:

set -o vi

Notez cependant que les vi-bindings ne sont pas aussi complets que ceux d'emacs.

Télémaque
la source
4

J'ai trouvé la réponse! /etc/bash.bashrc contenait set -o vice qui, pour une raison quelconque, empêchait Ctrl-e et Ctrl-a de fonctionner.

Richard Turner
la source
5
La set -o vicommande oblige Bash à utiliser les liaisons Vim. La valeur par défaut est les liaisons de style Emacs. Donc, ce n'est pas "pour une raison quelconque", mais plutôt cela set -o viappelle un ensemble complètement différent d'options Readline. Voir ma réponse pour savoir comment passer à la volée.
Télémaque le
1
Excellent, merci. J'ai réalisé que Bash était configuré pour utiliser les liaisons vi, mais je ne m'attendais pas à ce que cela empêche Ctrl-a et Ctrl-e de fonctionner. Je n'avais pas réalisé que la façon de désactiver les liaisons vi était de définir des liaisons emacs.
Richard Turner