web-dev-qa-db-fra.com

Ubuntu 16.04 en ligne de commande .inputrc pour la liaison de clé?

Sur ma ligne de commande sous Ubuntu Server 16.04.1, j'aimerais relier Ctrlup/down à la fonction de recherche incrémentielle de l'historique bash. J'ai trouvé des messages comment le faire. Ils concernent les fichiers ~/.bashrc et ~/.inputrc.

Des caractères étranges apparaissent lorsque j'utilise les touches Ctrl et les touches fléchées pour naviguer indique que cela fonctionne via le fichier .inputrc situé dans le répertoire de base. Pourquoi ctrl + flèche gauche ne saute-t-il pas des mots? contient des commentaires sur le fait de ne pas utiliser .inputrc, d'utiliser .zshrc et d'utiliser .bashrc. Je suis encore trop nouveau pour ne pas être confondu. Je n'avais pas de .inputrc dans ma nouvelle installation de serveur.

Je ne comprends pas ces choses:

  • .inputrc est-il le bon endroit pour insérer des raccourcis clavier dans 16.04?
  • Est-ce la même chose pour toutes les saveurs différentes de l'ancienne version d'ubunutu?
  • est-il normal de ne pas avoir de fichier .inputrc dans mon répertoire personnel?
  • Ce qui est recommandé: copier le fichier/etc/input dans le répertoire home et éditer ou créer un lien dans un nouveau fichier .inputrc et éditer le fichier dans etc?

Je n'ai pas réussi à le faire fonctionner aussi. J'ai essayé à la fois de copier le fichier de etc et de le renommer en .inputrc ainsi que de créer un nouveau fichier dans ~/ avec:

touch .inputrc
nano .inputrc

Le contenu du fichier:

$include /etc/inputrc

Voici ce que j'ai mis dans les fichiers.

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for Word moving
"\e[1;5C": forward-Word
"\e[1;5D": backward-Word
"\e[5C": forward-Word
"\e[5D": backward-Word
"\e\e[C": forward-Word
"\e\e[D": backward-Word
# ctrl up,down
"\e\e[A": history-search-backward
"\e\e[B": history-search-forward

Les deux ne fonctionnent pas, Ctrl la clé est ignorée. CTRLUp/down ne montre pas la recherche et CTRLleft/right ne sautez pas de mots. Je pense que cela correspond à la réponse du second post.

Quel pourrait être le problème?

5
CatMan

J'utilise Ubuntu 16.04 LTS. Mettre les "mappages pour Ctrl-flèche gauche et Ctrl-flèche droite pour le déplacement de Word" dans mon ~/.inputrc a fonctionné pour moi.

Cela ne fonctionne pas d'avoir ces paramètres dans le fichier /etc/inputrc.

Mon fichier ~/.inputrc ressemble à ceci:

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for Word moving
"\e[1;5C": forward-Word
"\e[1;5D": backward-Word
"\e[5C": forward-Word
"\e[5D": backward-Word
"\e\e[C": forward-Word
"\e\e[D": backward-Word

J'ai supprimé ce qui précède du fichier /etc/inputrc, qui (selon ma compréhension même) ne semble pas avoir été lu par Ubuntu 16.04.

2

Hy! Peut-être trop tard, mais je poste ceci pour la postérité ...

Oui, il est normal de ne pas avoir .inputrc chez vous. Il suffit de le créer. Êtes-vous sûr d'avoir rechargé le fichier?

Déconnexion et reconnexion du terminal, ou utilisez simplement bind -f ~/.inputrc

Cela fera le travail ...

1
matthias2t