En effet, voici par exemple mon fichier ~/.inputrc
$include /etc/inputrc
$if mode=emacs
"\e[1;3C": end-of-line
"\e[1;3D": beginning-of-line
"\e[1;5P" dump-functions
$endif
$if Bash
# Quote the current or previous word
"\C-xq": "\eb\"\ef\""
$endif
Les 2 premières commandes me permettent d'utiliser A-Left et A-Right pour me déplacer en début et fin de ligne (équivalent à C-a et C-e)
La troisième commande permet d'utiliser C-F1 pour afficher toutes les fonctions de readline avec leur raccourcis clavier. Sur mon terminal, "\e[1;5P" correspond à C-F1 mais cela peut varier (voir ci dessous) En pratique, ce raccourci est équivalent à la commande bash bind -P sauf que C-F1 peut être utilisé sans casser la commande en cours d'écriture.
La quatrième commande est en fait une macro qui transforme C-x q en A-b (backward-word) " A-e (forward-word) " . En pratique cela transforme le mot actuel en "chaîne"
Pour trouver la séquence correspondant à une combinaison de touches j'utilise généralement la commande cat sans arguments.
(bash) cat
^[[1;3Q^[[1;3R^C
Dans cet exemple, j'ai utilisé les raccourcis A-F2, A-F3 et finalement C-c pour quitter cat.
^[ est le caractère d’échappement qui doit devenir \e dans votre .inputrc
Par exemple, je pourrais associer A-F2 à la macro "Salut" dans mon .inputrc
"\e[1;3Q": "Salut"
ou alors depuis un prompt bash avec la commande bind:
(bash) bind '"\e[1;3Q": "Salut"'
Il est aussi possible d'associer des commandes bash à des raccourcis clavier. Par exemple pour que C-x l transforme la ligne en cours d'édition en minuscules il suffit d'ajouter les lignes suivantes à votre .bashrc:
[^] # Re: Readline
Posté par SChauveau . En réponse au journal Bash et les raccourcis clavier. Évalué à 5.
En effet, voici par exemple mon fichier ~/.inputrc
Les 2 premières commandes me permettent d'utiliser A-Left et A-Right pour me déplacer en début et fin de ligne (équivalent à C-a et C-e)
La troisième commande permet d'utiliser C-F1 pour afficher toutes les fonctions de readline avec leur raccourcis clavier. Sur mon terminal, "\e[1;5P" correspond à C-F1 mais cela peut varier (voir ci dessous) En pratique, ce raccourci est équivalent à la commande bash bind -P sauf que C-F1 peut être utilisé sans casser la commande en cours d'écriture.
La quatrième commande est en fait une macro qui transforme C-x q en A-b (backward-word) " A-e (forward-word) " . En pratique cela transforme le mot actuel en "chaîne"
Pour trouver la séquence correspondant à une combinaison de touches j'utilise généralement la commande cat sans arguments.
Dans cet exemple, j'ai utilisé les raccourcis A-F2, A-F3 et finalement C-c pour quitter cat.
^[ est le caractère d’échappement qui doit devenir \e dans votre .inputrc
Par exemple, je pourrais associer A-F2 à la macro "Salut" dans mon .inputrc
ou alors depuis un prompt bash avec la commande bind:
Il est aussi possible d'associer des commandes bash à des raccourcis clavier. Par exemple pour que C-x l transforme la ligne en cours d'édition en minuscules il suffit d'ajouter les lignes suivantes à votre .bashrc: