GNU Readline est une bibliothèque peu connue de l’utilisateur lambda, mais à laquelle il est utile de s’intéresser. En effet, c’est grâce à elle que de nombreux outils de type « ligne de commande » dialoguent avec l’utilisateur. Readline permet à l’utilisateur de taper des lignes de texte, de les modifier, et de naviguer dans un historique. Par exemple, c’est Readline qui gère l’édition de la ligne de commande sous GNU Bash, et gère son historique.
Il existe de très nombreuses commandes sous Readline, mais les quelques-unes présentées ci-dessous sont d’usage courant : il est vraiment utile de les connaître. Pour les autres, on peut se référer au manuel utilisateur.
Combinaison | Action |
---|---|
←, → | Déplace le curseur dans la ligne |
C-a, C-e | Saute en début ou fin de ligne |
C-l (« L ») | Efface l’écran |
C-w | Efface le mot précédent ou en cours (vers la gauche) |
ESC-d | Efface le mot suivant ou en cours (vers la droite) |
C-k | Efface la fin de la ligne |
C-_ | Annule la dernière modification |
↑, ↓ | Navigue dans l’historique : plus ancien, plus récent |
C-r (C-s, C-g) | Recherche un texte dans une commande précédente, puis encore C-r passe à l’occurrence précédente, C-s à l’occurrence suivante. C-g annule la recherche |
C-v | Insère le caractère qui suit, sans l’interpréter. C’est très utile pour taper tels quels des caractères de contrôle. Par exemple, pour insérer ^A il faut taper C-v , C-a |
Les combinaisons ci-dessus constituent les choix par défaut. En réalité, tout est personnalisable via le fichier ~/.inputrc
. Sous Bash, on obtient la liste des bindings en cours avec la commande bind -p
.