Sur une machine Debian Wheezy au travail précédent, je me suis habitué à Alt + Gauche et Alt + Droite pour sauter entre les mots sur la ligne de commande active (en bash).
Cependant, comme à la maison j'ai mis à niveau vers Jessie (Debian 8.0, branche de test), cela ne fonctionne plus: au lieu de passer au mot précédent, Alt-Left imprime quelque chose comme D
ou [D
. OTOH, si j'ouvre ssh et me connecte à ma Debian Wheezy sans tête, cela fonctionne parfaitement.
De plus, je viens d'installer Fedora 20 dans mon nouveau travail et ici le comportement est le même. Cela s'applique à bash, csh et ksh (commencé sous env -i
), ainsi qu'à rxvt-unicode et xfce4-terminal, donc ce doit être quelque chose en dehors de ces niveaux.
Où d'autre dans la pile dois-je chercher pour trouver la différence?
la source
Réponses:
Vous avez probablement défini un fichier local
~/.inputrc
ou global/etc/inputrc
qui a été perdu lors de la mise à niveau. Une solution simple consiste à créer un~/.inputrc
fichier avec les lignes suivantes:Ceux-ci fonctionneront avec
xterm
etterminator
etgnome-terminal
mais devront peut-être être modifiés pour d'autres terminaux. Malheureusement, chaque émulateur de terminal peut utiliser une syntaxe différente. Pour plus de détails, voir ma réponse ici .la source
terdon m'a mis dans la bonne direction: fichier inputrc .
Le coupable est que, tout à fait de manière non intuitive, readline6 utilise en fait ~ / .inputrc au lieu de / etc / inputrc, que readline (3) n'accentue ni ne réfute:
Ainsi , alors que dans les deux machines Debian / etc / inputrc est identique à celui fourni par libreadline6 package (la version est le même aussi bien), sur la nouvelle machine existe ~ / .inputrc avec seule ligne:
set bell-style none
. Lorsque ce fichier est supprimé, tout fonctionne bien (voir les notes ci-dessous).Je ne peux pas vérifier Fedora avant demain mais je suppose que c'est le même problème. Mise à jour: Sur Fedora, ~ / .inputrc n'existait pas, ici / etc / inputrc est simplement différent donc il ne peut pas le définir. En tant que correctif, j'ai simplement enregistré inputrc de Debian en tant que mon ~ / .inputrc.
Remarques:
Le mystère de la façon dont il a été modifié lors de la mise à niveau 7> 8 n'est pas résolu, mais peut en partie être attribué à ma mauvaise mémoire et à certains jonglages de fichiers dot involontaires. (BTW, ce n'était pas une mise à niveau APT, mais plutôt une réinstallation et un déplacement manuel du fichier dot, alors peut-être que le ~ .inputrc a gêné d'une manière ou d'une autre.)
De plus, quand je dis OK, je veux dire que cela fonctionne avec Ctrl partout sauf Rxvt (OK, je n'ai vérifié que xfce4-terminal mais nous savons que Rxvt est le rebelle habituel), où cela est remappé en Alt, apparemment parce que Ctrl est pris par Rxvt -fonctionnalité spécifique - déplacer l'onglet actif dans la liste.
Comme le mentionne la page de manuel, avec bash, vous pouvez utiliser la commande de liaison intégrée pour rechercher ce que vous avez actuellement.
la source
$include /etc/inputrc
en haut de~/.inputrc
si vous voulez lire cela aussi.$include
d par défaut).