nano pour les nuls

nano est un éditeur de texte, en console ou en terminal, très utile pour modifier les fichiers de configuration de son système. Installé par défaut sur Debian, nano est relativement simple à utiliser. La prise en main et les débuts avec un éditeur de texte comme nano s'avère déroutante pour les débutants, par contre cet outil est très utile voire indispensable dans certaines situations.
Son utilisation implique d'utiliser uniquement le clavier. Il sera donc nécessaire de connaître les principaux raccourcis clavier correspondants aux fonctions importantes. L'objectif de cet article est d'apporter les connaissances essentielles sur nano expliquées pas à pas afin qu'un utilisateur, même débutant, puisse utiliser cet éditeur de texte sans crainte.

Je vous rassure, c'est à la portée de tout le monde. Si vous en avez besoin, vous pouvez imprimer le récapitulatif des différentes commandes et le garder à côté de vous. L'utilisation de nano n'est pas indispensable mais c'est une solution à privilégier dans les cas d'entraide sur les forums, IRC, ... Dans les autres cas, libre à vous d'utiliser les outils qui vous conviennent le mieux.

Je ne prendrai pas le temps de vous détailler pourquoi utiliser nano (ou tout autre éditeur de texte depuis le terminal) plutôt qu'un éditeur avec une interface graphique. Pour faire rapide, c'est principalement pour des raisons de sécurité et qu'en cas de problème, votre interface graphique pourrait ne pas être disponible (expérience vécue avec un fstab mal configuré).

Pour ceux qui ne sont pas encore à l'aise avec l'utilisation du clavier ou qui veulent en savoir un peu plus, je vous invite à consulter la présentation / atelier de Jérôme Choain aka jcfrog avant d'attaquer la suite.
Souris et clavier: Les bases

Pour faciliter la compréhension, j'ai ajouté des vidéos courtes pour illustrer l'utilisation de nano. Vous verrez en même temps tout ce qui est saisi au clavier et les raccourcis utilisés.
Par souci de simplification, l'article ne précisera qu'un seul raccourci-clavier par fonction. Il peut exister plusieurs raccourcis pour une seule fonction. Pour en savoir plus, consulter l'aide ou le récapitulatif.

nano 2.7.4-1
gnome-terminal 3.22.2-1
Debian GNU/Linux 9.0 (stretch)

Ouvrir un fichier

Pour commencer, on va simplement ouvrir un fichier texte.


$user
nano <fichier>

Si le fichier n'est pas spécifié ou qu'il n'existe pas encore au lancement de nano, il sera vide. Sinon, nano affichera le contenu du fichier.

Petite explication sur l'interface de nano:

  • première ligne: nom du fichier en cours d'édition
  • au centre: le contenu du fichier (avec le curseur)
  • en bas: l'aide avec les fonctions principales et les raccourcis associés

Quitter nano

Si c'est la première fois que vous utilisez nano, vous allez certainement vous demander comment fermer l'éditeur de texte. En bas de l'écran, on trouve un bandeau avec les raccourcis clavier, notamment celui pour Quitter. Pour ceux qui n'ont pas appris le Geek comme langue étrangère, je vous fais la traduction:
^X Quitter : ça signifie appuyer sur les touches Ctrl+X pour Quitter

Si vous n'avez pas effectué de modifications sur le fichier, le fichier se fermera directement.

Il existe un autre raccourci pour quitter: F2

Si vous n'arriver pas à quitter avec F2, c'est que le terminal a affecté cette touche pour une autre fonction. Pour modifier le comportement des touches F1 à F12, il faut éditer les préférences du terminal (cf. Gnome-Terminal).

Si le fichier a été modifié

Si vous êtes un utilisateur compulsif et vous avez modifié le fichier, le message suivant apparaîtra:
Écrire l'espace modifié ? (Répondre « Non » ABANDONNE les modifications.)
Il faudra confirmer votre choix (quitter nano sans enregistrer les modifications) en tapant sur N puis Entrée.

Sauvegarder un fichier

Maintenant on va éditer notre premier fichier avec nano. Une fois les modifications effectuées sur le document vous pouvez l'enregistrer avec Ctrl+O.

En bas de la fenêtre, vous verrez apparaître: "Nom du fichier à écrire: <fichier>"
Il suffit de taper sur la touche Entrée pour valider les modifications. Ensuite, vous pouvez quitter nano normalement.

Autre cas possible, vous décidez de quitter l'application alors que vous avez effectué des modifications. Vous verrez apparaître le message: "Écrire l'espace modifié ? (Répondre « Non » ABANDONNE les modifications.)"
Taper sur la touche O pour enregistrer puis Entrée .

Afficher l'aide

On a vu les quelques commandes essentielles pour survivre avec nano: ouvrir, fermer et enregistrer les modifications. Vous pourriez arrêtez la lecture ici, mais cette partie vous sera utile, surtout pour éviter de chercher un peu partout de l'aide ou une explication.
Pour activer l'aide de nano, il faut utiliser le raccourci clavier Ctrl+G. Cela vous permettra d'afficher les raccourcis clavier disponible et découvrir toutes les fonctions disponibles. On y retrouve par exemple l'explication sur la notation des raccourcis clavier.

Les raccourcis sont représentés de la façon suivante :
  • la touche « Contrôle » est représentée par l'accent circonflexe (^) et peut être entrée soit via la touche Contrôle (Ctrl), soit en pressant 2 fois la touche « Échap. ».
  • Les séquences d'échappement sont représentées par le symbole « Méta » (M) et peuvent être entrées via les touches « Échap. », « Alt. » ou « Méta » selon la configuration de votre clavier. Appuyer 2 fois sur la touche « Échap. » puis entrer un nombre à 3 chiffres entre 000 et 255 insère le caractère de code correspondant.

En complément de l'aide vous avez aussi les commandes man nano et nano --help .

Éditer un fichier

Il nous reste à découvrir les fonctions principales permettant d'éditer un fichier texte. Évidemment, cela inclut savoir comment naviguer dans un document (qui peut être très long), copier/coller du texte, utiliser les fonctions de recherche/remplacement et annuler les dernières opérations.

J'en profite pour vous donner la solution pour annuler une opération en cours: Ctrl+C

Pour se déplacer, on utilisera principalement les flèches du clavier:

  • Vers le haut:
  • Vers le bas:
  • Vers la gauche:
  • Vers la droite:

Pour des fichiers un peu plus longs, il existe d'autres raccourcis clavier pour aller à l'écran suivant/précédent:

  • Aller à l'écran suivant: Page Up
  • Aller à l'écran précédent: Page Down

Certaines lignes peuvent être longues et on aimera certainement gagner du temps en se déplaçant directement au début ou la fin de la ligne:

  • Aller en début de ligne: Début
  • Aller en fin de ligne: Fin

Encore plus rapide, il est possible d'aller directement à emplacement défini. Pour aller à une ligne et colonne : saisir Ctrl+_ (caractère de soulignement ou underscore). Le message suivant apparaît en bas de l'écran: "Entrez : numéro de ligne, numéro de colonne : x,y"
Indiquer le numéro de la ligne x suivi d'une virgule et du numéro de la colonne y.
On peut afficher la position du curseur et les informations du fichier avec Ctrl+C.

Rechercher

En complément de la navigation, la fonction de recherche vous sera probablement utile. Pour rechercher une chaîne de caractère on utilise Ctrl+W. En bas, on voit apparaître le message: "Recherche: <terme>"
Il suffit de saisir le terme ou l'expression rationnelle puis lancer la rechercher en appuyant sur Entrée.
Pour chercher le prochain résultat, il faut utiliser Alt+W.

Annuler la dernière opération

Lorsque que l'on fait une erreur lors de la modification d'un fichier, il est utile de pouvoir annuler et revenir en arrière :

  • Pour annuler la dernière opération: Alt+U
  • Pour refaire la dernière opération annulée: Alt+E

Copier / Coller

L'utilisation de copier/coller est certainement la fonctionnalité qui vous sera le plus utile. On va voir trois solutions possibles pour effectuer un copier/coller:

  • Couper / Coller une ligne du fichier
  • Coller depuis un autre fichier
  • Copier / Coller via le terminal

Couper / Coller une ligne

Une solution assez basique en coupant/collant des lignes du fichier en cours d'édition.

  • Pour couper la ligne courante vers le presse-papiers: Ctrl+K
  • pour coller le presse-papiers à partir de la ligne courante: Ctrl+U

Copier / Coller une sélection de texte

Il est possible de copier / coller une sélection de texte avec nano.
Pour sélectionner le texte il faut utiliser Ctrl+^. En bas, le message "[ Marque posée ]" devrait s'afficher.
Ensuite, il faut se déplacer jusqu'à la fin de la sélection et valider la copie avec Alt+^

Il ne reste plus qu'à coller la sélection avec Ctrl+U

Chez moi, pour insérer le caractère ^, il faut utiliser AltGr+^ (la touche du 9). Du coup, pour utiliser les raccourcis-clavier il faut appuyer sur les touches Ctrl+AltGr+^ et Alt+AltGr+^

Coller depuis un fichier

Il est possible d'insérer un fichier dans l'espace en cours d'édition.
On copie le contenu du fichier avec la commande Ctrl+R puis on indique le chemin du fichier lorsque le message suivant s'affiche: "Fichier à insérer [à partir de ./] : <fichier>"

Copier / Coller via le terminal

Les solutions pour copier/coller avec nano sont limitées ou peu pratiques. On va donc profiter des solutions offertes par le terminal pour retrouver un comportement "traditionnel" permettant de copier/coller du texte entre plusieurs applications. Par exemple, si vous avez trouvé une solution dans un forum ou sur un wiki vous aurez envie de copier la solution depuis votre navigateur et coller dans votre fichier ouvert avec nano.

Depuis le menu "Édition" du terminal, vous trouverez les fonctions Copier et Coller. On peut également utiliser les raccourcis-clavier pour Gnome-Terminal / xfce4-terminal :

  • Copier: Maj+Ctrl+C
  • Coller: Maj+Ctrl+V

Remplacer

Il est possible de remplacer une chaîne de caractère. On utilisera le raccourci clavier Alt+R pour lancer la fonction.

  • "Recherche (à remplacer): <terme1>": saisir le terme à remplacer
  • "Remplacer par: <terme2>": saisir le terme de remplacement
Pour finir, on obtient le message suivant: "Remplacer cette occurrence ? O Oui       T Tous       N Non       ^C Annuler"
Choisir entre Oui (remplacer une seule occurrence), Non (passer à la prochaine occurrence), Tous (remplacer toutes les occurrences) ou Annuler pour arrêter la fonction de remplacement.

Lecture seule

Il est possible d'utiliser nano uniquement pour consulter un fichier et éviter toute modification.


$user
nano -v <fichier>

Faire une copie de sauvegarde du fichier

Il arrive de devoir modifier un fichier important mais par sécurité on souhaite garder une copie du fichier original avant modification. Utile pour retrouver un système fonctionnel suite à des modifications hasardeuses.


$user
nano -B <fichier>

Le fichier de sauvegarde est enregistré dans le même répertoire, avec le même nom de fichier et suffixé avec le caractère ~ (c'est donc un fichier caché).

La fonction de sauvegarde ne permet de garder que la dernière version du fichier (vous n'aurez donc pas d'historique des modifications). Si besoin, ne pas hésiter à copier/enregistrer le fichier pour en garder plusieurs versions.

Ouvrir une copie vide

il arrive parfois de vouloir modifier un fichier mais que l'on souhaite repartir d'un fichier vierge. Dans ce cas, il est possible d'utiliser la fonction --noread.


$user
nano --noread <fichier>

Attention, le fichier ouvert sera vide mais écrasera bien le fichier existant. Cette fonction s'avère utile lorsque l'on va importer le contenu d'un autre fichier (on s'économise la suppression du fichier).

Ouvrir un fichier avec les droits administrateurs

Puisque ce n'est pas évident pour tout le monde, on va revoir comment éditer un fichier avec des droits limités.
Par exemple, c'est le cas fichier /etc/apt/sources.list pour activer des dépots ou /etc/fstab pour monter des partitions.
Ces fichiers sont indispensables au fonctionnement du système. C'est pour cette raison que seul l'utilisateur root peut les modifier et pas un utilisateur lambda.

Pour effectuer des modifications (la lecture est possible sur la plupart des fichiers de configurations), il faut obtenir les droits root. On va utiliser la commande su qui permet de changer d'utilisateur:


$user
niqnutn@debian:~$ su
Mot de passe : 
root@debian:/home/niqnutn# 

Sur la dernière ligne on voit bien root (c'est le nom de l'utilisateur en cours d'utilisation).

Dans le doute et pour vérifier avec quel utilisateur vous êtes connecté, une petite commande à connaître: whoami


#root
whoami
root

Maintenant vous pouvez éditer votre fichier mais soyez prudent.

Il n'y a aucun changement dans le comportement de nano, mais je vous conseille d'utiliser la commande suivante pour faire une sauvegarde du fichier:


#root
nano -B <fichier>

Vous pouvez copier le fichier d'une autre manière mais pensez-y, ça vous sera utile.

Quand vous avez fini, pensez à vous déconnecter de l'utilisateur root avec la commande exit.

Gnome-Terminal

Par défaut Gnome-Terminal affecte la touche F1 au sommaire du terminal. Personnellement, je n'en ai pas besoin et je préfère utiliser ce raccourci pour mes applications comme nano.

Pour désactiver la touche F1, il faut aller dans Préférences > Raccourcis et dans la section Aide. Vous verrez une entrée nommée "Sommaire" avec le raccourci F1 en face.
Il suffit de cliquer dessus et d'appuyer sur la touche Retour pour désactiver.

Antisèche

Télécharger le fichier nano.pdf
Télécharger le fichier source nano.odt

Conclusion

Après lecture de cet article, vous devriez être en mesure d'utiliser nano sans trop de difficultés. Volontairement, toutes les fonctionnalités n'ont pas été expliquées pour faire une synthèse accessible aux débutants. Libre à vous de lire la documentation et explorer les autres possibilités offertes par nano ou d'attendre un article complémentaire pour approfondir son utilisation.

Il existe un problème avec l'utilisation de nano avec les raccourcis et nos claviers AZERTY. Cela oblige parfois à utiliser une touche supplémentaire Maj ou AltGr ce qui rend l'utilisation de certaines fonctions un peu pénibles.

Ressources

5 commentaires

nIQnutn |

Si vous avez des problèmes pour visionner les vidéos dans l'article, n'hésiter pas à le faire savoir en laissant un commentaire.
Je n'utiliserai plus de .gif car obsolète mais je ne suis pas certains de maîtriser l'encodage pour assurer la compatibilité pour tous les navigateurs.

smolski |

je ne peux pas ouvrir les video - jessie backports

Pilro |

Merci pour cet article complet et bien construit. Même si je connais la plupart des raccourcis, ça me sera toujours utile de garder ça sous le coude

sciemo |

Bravo pour cet article. Un petit plus:
Pour copier une partie de texte (sélectionné ce texte avec Esc + A et ce déplacer avec les flèches) : Esc + ^
et si vous êtes sur une machine virtuelle:: Esc + ^^

nIQnutn |

Merci, je vais mettre à jour ;)

Fil RSS des commentaires de cet article

Écrire un commentaire