Même si vous êtes habile pour pianoter sur un clavier, il est possible d’augmenter votre performance en utilisant quelques astuces de bash.
L’auto-complément est évidemment une technique très efficace mais il y a aussi plusieurs astuces d’édition qu’il y a avantage à connaître.
Auto-complément
La touche Tab permet de compléter le mot courant. C’est utile pour les mots longs ou si vous ne vous souvenez pas de l’orthographe exact.
Si le Tab est donné durant le 1er mot, l’expansion du Tab proposera toutes les commandes disponibles qui débutent avec les caractères entrés. S’il n’y en a qu’une, elle s’inscrira dans votre ligne de commande, sinon vous devrez entrer des caractères supplémentaire pour raffiner la sélection.
Si la touche Tab n’est pas dans le 1er mot, alors bash proposera une liste des fichiers du répertoire courant.
L’auto-complément est tellement utile que son concept a été étendu pour le rendre plus intelligent. Mais cette fonctionnalité n’est possible que pour certaines commandes. Pour ces commandes, si le Tab est utilisé ailleurs que dans le 1er mot, alors la recherche sera optimisée en fonction du 1er mot. Par exemple, si vous entrez Tab après man conf, alors bash vous proposera une liste de toutes les pages de manuel des commandes qui débutent par conf.
Nous verrons, dans un autre article, comment on peut ajouter nous-même la fonctionnalité d’auto-complément à une commande quelconque.
Accès à l’historique
Toutes vos lignes de commandes sont mémorisées dans un fichier d’historique. Les touches de flèches verticales vous permettent de vous promener dans l’historique et de récupérer une de ces vieilles commandes. De plus, la combinaison ctrl-r permet de rechercher dans le fichiers d’historique en fonction des caractères que vous entrez. Un ctrl-r supplémentaire permet d’aller plus loin dans le fichier. Utilisez une touche de flèche horizontale lorsque vous avez la commande désirée ou que vous voulez terminer la recherche. Pour plus de détails.
Mise en commentaire Alt-#
Vous est-il déjà arrivé, en cours d’édition d’une commande, de constater que vous avez un blanc de mémoire? Vous allez alors dans une autre fenêtre (ou un autre onglet) et vous interrogez man. Mais si vous n’avez pas cette autre fenêtre, vous pouvez utiliser l’astuce suivante. Si vous utilisez Alt-# dans votre commande courante, un # sera introduit en début de commande (pour en faire un commentaire) et la commande se terminera sans effet. Après avoir consulté man, la flèche ascendante vous ramène votre commande et il n’y a plus qu’à la compléter et enlever le #.
Rappel du premier mot de la commande précédente
La combinaison Alt-. vous ramène le premier mot de la commande précédente.
Dernier argument !$
Très utile lorsque vous avez à entrer 2 commandes qui se terminent par le même argument. Exemple:
nano chemin/fichier
lp !$
nano est un éditeur de texte et lp est une commande d’impression. L’expansion du !$ récupère le dernier argument de la commande précédente. Vous pouvez obtenir le même résultat en utilisant Esc et . (touche Esc suivie de la touche . ) ou Esc–_. Vous pouvez utiliser cette séquence plusieurs fois pour avoir accès au dernier paramètre d’une plus vieille commande.
nième argument
De la même façon qu’avec !$, vous pouvez utiliser !:n pour obtenir le nième argument
Commandes d’édition de la ligne en cours
- ctrl-a déplace le curseur vers le début de la ligne
- ctrl-e déplace le curseur vers la fin de la ligne
- ctrl-t permute le caractère courant avec le précédent (ou les 2 derniers si le curseur est en fin de ligne). C’est très utile.
- alt-t intervertit 2 mots. Semblable à ctrl-t
- alt-d supprime le mot (ou portion de mot) après le curseur
- ctrl-w efface le mot à la gauche du curseur
- ctrl-u coupe tous les caractères à la gauche du curseur
- ctrl-k coupe tous les caractères à la droite du curseur
- ctrl-y ramène les caractères du presse-papier (coupés par ctrl-u ou ctrl-k, etc)
- ctrl-l efface le contenu de la fenêtre en conservant la ligne courante
- alt-u met en majuscules le mot (ou portion de mot) qui suit le curseur
- alt-l met en minuscules le mot (ou portion de mot) qui suit le curseur
- alt-c met en majuscule la lettre sous le curseur
Autres combinaisons utiles
- ctrl-c termine le programme en cours
- ctrl-z met en pause le programme en cours
- ctrl-l nettoie la fenètre
- ctrl-s bloque le défilement de texte
- ctrl-q débloque le défilement de texte
- ctrl-d signale une fin de fichier. En ligne de commande, il ferme la fenètre
Le presse-papiers du bureau (ne pas confondre avec celui de bash)
- ctrl-C copier vers le presse-papiers (notez la majuscule qui nécessite Shft)
- ctrl-V ramener le presse-papiers (notez la majuscule qui nécessite Shft)