Question Comment recharger .inputrc?


Contexte

J'ai entendu que le readline le module lit ~/.inputrc et c'est ainsi que cela modifie le comportement des frappes au clavier sous des programmes tels que bash.

Question

Comment puis-je recharger cela après l'édition pour voir le comportement modifié sans redémarrer mon programme de terminal?


76
2018-02-03 11:31


origine


Contexte (pas faux). - Dennis Williamson
Je suis venu ici pour chercher comment charger .inputrc avec une commande. superuser.com/q/419670/56544 - dfrankow
@ CaptainLepton J'ai vu ça. Le terminal n'est pas le même que le shell. Faire exec bash dans une session Bash remplacera la session shell actuelle par une nouvelle session Bash. xterm est un terminal. - Kusalananda
@Kusalananda Merci pour la clarification. C'est une bonne idée. Décririez-vous peut-être l'exécution de> exec bash comme exécutant un nouveau shell dans le terminal actuel plutôt que de redémarrer bash, puisque vous remplacez votre ancien exécutable? - Captain Lepton
Oui, il est impossible de "redémarrer" la session shell en cours. C'est un façon de le faire. Utiliser la solution que @maxelost a donnée en est une autre. - Kusalananda


Réponses:


Par défaut, C-x C-r est lié à re-read-init-file.

Voir le Manuel de référence Bash pour explication.


71
2018-02-03 11:36



Cela ne fonctionne pas pour moi. J'ai essayé un autre mappage dans le fichier .inputrc et aussi pas de chance: "\ eX \ eR": re-read-init-file Des suggestions? - Captain Lepton
@Captain En fait, sauf que clair les frappes de touches qui ont été supprimées entre-temps. Si vous par exemple ajoutez-en, ils sont chargés. Votre seule solution pour cela est une nouvelle bash -l (shell qui se comporte comme un shell de connexion) qui est nouvellement initialisé. - Daniel Beck♦
Je révisais /etc/inputrc mais j'avais presque vide ~/.inputrc qui empêchait celui en /etc/ d'être utilisé. Enlever ~/.inputrc l'a fait lire /etc/inputrc et rendre mes changements actifs. - Malvineous


Vous pouvez également recharger de nouvelles entrées à partir de la ligne de commande en utilisant bind -f ~/.inputrc. Cela va charger les entrées dans .inputrc. Notez qu'il ne fait qu'un chargement, pas un "rechargement" - il ne réinitialise donc aucune des lignes que vous avez supprimées de .inputrc.

Pour tester rapidement à partir d'une table rase, il suffit de lancer bash puis travaillez dans ce nouveau shell imbriqué (ou démarrez un nouveau terminal).


35
2018-04-11 19:38





Dans .inputrc choisissez en premier votre liaison et après re-read-init-file fonction:

set editing-mode vi
"\C-x\C-r": re-read-init-file

presse CTRL et X, relâchez les deux, appuyez sur CTRL et r.


10
2018-03-10 14:58





Cela a fonctionné pour moi

bind -f ~/.inputrc

https://unix.stackexchange.com/questions/153357/inputrc-file-not-sourcing-correctly/246422#246422


4
2017-10-03 16:48