Définition des variables readline dans le shell

10

J'ai lu dans la manpage que vous définissez les paramètres de ligne de lecture sur une valeur off ou sur une valeur en utilisant

set var value

Est-ce la même chose que la fonction setintégrée, et comment définissez-vous les variables une fois qu'elles inputrcont déjà été lues et que le shell fonctionne?

rubixibuc
la source
Et, une note pour l'enregistrement, la ligne de lecture setn'est pas la même que le shell intégré set.
jw013

Réponses:

9

La setcommande dans le manuel readline est celui dans le fichier de configuration de readline, ~/.inputrc. Bien que bash soit l'utilisateur le plus célèbre de la bibliothèque readline, la bibliothèque est générique et peut être utilisée par d'autres programmes; la syntaxe de .inputrcn'est pas liée à bash.

Vous pouvez faire exécuter à bash des commandes readline via le bindmodule intégré:

bind "set var value"

Vous pouvez également faire relire bash ~/.inputrcavec bind -f ~/.inputrc.

Gilles 'SO- arrête d'être méchant'
la source
5

Du manuel :

Lorsqu'un programme qui utilise la bibliothèque Readline démarre, le fichier init est lu et les liaisons de touches sont définies.

De plus, la commande C- x C- rrelit ce fichier init 1 , incorporant ainsi toutes les modifications que vous y avez apportées.


1 Notez que c'est évidemment la liaison Emacs (par défaut), si vous utilisez editing-mode-viil n'y a pas de raccourci clavier par défaut. Cependant, vous pouvez lier la re-read-init-filecommande à un raccourci clavier de votre choix dans ~/.inputrc.

jasonwryan
la source