Version en ligne

Tutoriel : Introduction à l'édition de texte avancée : l'exemple de GNU Nano

Table des matières

Introduction à l'édition de texte avancée : l'exemple de GNU Nano
Un peu de théorie
Se déplacer avec Nano
Opérations sur le texte

Introduction à l'édition de texte avancée : l'exemple de GNU Nano

Un peu de théorie

Bonjour à tous les zér0s !
Ce tutoriel est une sorte de suite au tuto de M@teo21 sur l'éditeur de texte GNU Nano. Vous devez avoir lu celui-ci pour suivre mon tutoriel.
Vous apprendrez ici à éditer très rapidement vos fichiers grâce à Nano, en utilisant les commandes les plus puissantes !

Nano n'est pour moi qu'un prétexte pour introduire l'édition de texte avancée. J'ai choisi Nano car en prenant des éditeurs comme Vim ou Emacs, je perdrais trop de temps à expliquer les commandes au lieu d'expliquer la manière de les utiliser ! Beaucoup de tutoriels sur le Web ne présentent qu'une liste de commandes sans trop d'explications sur la stratégie d'édition. Nano me permet d'expliquer ces bases sans rentrer dans des détails techniques inutiles.

C'est pourquoi même si Nano ne vous dit rien, ce tutoriel peut quand même vous intéresser ! ;)

Un peu de théorie

Se déplacer avec Nano

Nous allons d'abord répondre à quelques questions courantes avant de commencer.

Pourquoi utiliser un éditeur de texte en console ? Mon éditeur en interface graphique, avec la souris, me convient très bien.

Si vous dites ça, c'est parce que vous ne vous êtes jamais vraiment investi dans l'apprentissage d'un éditeur de texte digne de ce nom. A partir du moment où on essaye, on devient rapidement accro ! :p
La raison est que des éditeurs puissants en console permettent d'être bien plus rapide. Vous ne déplacez jamais vos mains (ni pour aller jusqu'à la souris, ni pour aller jusqu'aux flèches directionelles), et des opérations d'édition peuvent être exécutées à une vitesse impressionante pour le néophyte.

Pourquoi utiliser Nano ? Emacs et Vim sont beaucoup plus puissants !

Il m'est assez difficile de répondre à cette question, étant donné qu'objectivement Vim et Emacs sont effectivement plus puissants.
Personnellement, je suis un fana de Vim, et pourtant comme vous le voyez j'écris un tuto sur Nano ! Il y a plusieurs raisons, mais parmi elles il y a le fait que Nano est un bon compromis entre la simplicité d'utilisation et l'efficacité. Pour les débutants, il est à mi-chemin entre un éditeur graphique (comme gedit) et un éditeur complexe (comme Vim/Emacs).
Par ailleurs, je considère que pour faire un choix d'éditeur, il faut en essayer plusieurs, sinon ce n'est pas réellement un choix !

J'ai déjà entendu parlé des modes. Qu'est-ce que c'est ?

Globalement, il y a deux types d'éditeurs de texte :

Les deux types d'éditeur ont leurs détracteurs, et il n'y en a pas l'un meilleur que l'autre : cela dépend de vos goûts. Comme je l'ai déjà dit, il vaut mieux essayer les deux avant de choisir !
Quant à Nano, c'est un éditeur complétement interactif : le concept de mode n'existe pas sous Nano.

D'après ce que tu m'a dis avant, j'en déduis qu'il va falloir apprendre beaucoup de commandes. Cela va me faire perdre du temps et de l'énergie !

Pour utiliser basiquement un éditeur de texte, une soirée d'apprentissage suffit. Ensuite, il faut compter environ une à deux semaines pour maîtriser vraiment correctement Vim ou Emacs : deux ou trois jours suffisent pour Nano.
Notez que dans tous les cas, cela vaut le coup : perdre du temps pour en regagner cent fois plus après !

Maintenant toutes ces questions réglées, nous pouvons apprendre à éditer du texte pour de vrai. :)


Se déplacer avec Nano

Se déplacer avec Nano

Un peu de théorie Opérations sur le texte

Nous allons commencer par passer en revue les commandes de déplacement sous Nano.

Je note les commandes ainsi : ^X signifie rester appuyer sur CTRL puis appuyer sur X. M-X signifie rester appuyer sur Meta et appuyer sur X. La touche Meta dépend de votre système, c'est en général soit Alt soit Echap.

Les quatre premières commandes à connaître sont :

Ça sert à quoi ? J'ai déjà les flèches directionelles !

Là il va falloir me croire sur parole : passé un temps d'adaptation vous serez bien plus rapide avec les commandes ci-dessus. En effet, les touches directionelles sont éloignées à droite du clavier, et il faut déplacer sa main pour les atteindre à chaque fois ! En bon utilisateur de Nano, je vous conseille de ne jamais utiliser les flèches.

Mais heureusement, vous n'aurez pas à utiliser souvent ces touches, car il existe d'autres commandes de déplacement très pratiques. Notamment :

Il faut savoir que les power users (c'est comme ça que l'on appelle les utilisateurs les plus rapides) ne se servent presque jamais des commandes de déplacement caractères par caractères. Il est plus rapide de se déplacer directement à l'endroit voulu. C'est pour cela qu'on a à notre disposition des puissantes commandes de déplacement !
Ces commandes de saut sont aussi très importantes :

Mais ces commandes ne suffisent pas toujours : lorsqu'on veut se déplacer à un endroit précis du texte par exemple. En ce cas, nous allons utiliser une fonction chère aux programmeurs, la fonction de recherche.
Pour rechercher une chaine de caractère, il suffit d'utiliser ^W puis de taper la chaine et enfin Enter. Nano vous déplacera jusqu'à la première occurence de la chaine trouvée. Et pour répéter la dernière recherche effectuée, il y a la commande M-W.
Attention ! Par défaut, les chaines de caractères à rechercher sont des expressions rationelles. Si vous ne savez pas ce que c'est ou si vous considérez que c'est inutile (je vous comprend), je vous conseille de désactiver les expressions rationelles en ajoutant à votre fichier de configuration (~/.nanorc) la ligne suivante :

unset regexp

Maintenant vous savez vous déplacer correctement dans Nano. Passons aux commandes de modification. :pirate:


Un peu de théorie Opérations sur le texte

Opérations sur le texte

Se déplacer avec Nano

Vous connaissez le fameux CTRL-C CTRL-V ? :D
Sous Nano, les commandes ne sont pas les même, mais il y a bien moyen de faire des modifications basiques du texte comme couper, coller, etc.

Quoi ? On ne peut faire que ça ?
Moi je veux couper un mot, une moitié de ligne, un paragraphe !

Arf, mais il faudrait pour cela un très grand nombre de commandes ! ;) Heureusement, pour pallier à ce problème on dispose sous Nano de la marque et de la région.

La marque et la région

La marque est une sorte de repère. On la place quelque part puis on se déplace. Pour poser la marque, on utilisera la commande M-A.
Essayez, pour voir ! Une fois la marque posée, lorsque vous vous déplacez l'espace entre la marque et le curseur est surligné. Cet espace est nommé la région.
Maintenant une révélation : si région il y a, ^K et M-^ n'agissent pas sur la ligne courante mais sur la région ! Grâce à ça, vous pouvez en quelque sorte "émuler" une sélection.
Observez la ligne suivante :

{c}har editor[] = "Emacs style";

La place du curseur est notée entre accolades. Le but est de remplacer le mot Emacs style par Nano.
Voilà la solution la plus rapide (je crois) :

^E M-A M-Space M-Space ^K Nano";

Explicitement :

1. On saute en fin de ligne.
2. On pose la marque.
3. On revient deux mots en arrière.
4. On supprime la région.
5. On entre le texte de remplacement.

Comme vous le voyez, le principe de la marque et de la région permet de sélectionner ce qu'on veut.

Quelques commandes supplémentaires

Il y a aussi quelque chose de très utile et qui va vous servir souvent : le remplacement. Lorsque vous tapez M-R, on vous demande d'abord une chaine à rechercher. Ensuite, on vous demande la chaine de remplacement ! Pour chaque occurence de la chaine recherchée trouvée, on vous demandera si vous voulez la remplacer. Si vous répondez y, elle sera remplacée par la deuxième chaine que vous avez entrée. :magicien:

Voici encore quelques commandes de suppression utiles :

Je crois que nous en avons fini avec les commandes de modifications.

Voilà, j'espère que ce tutoriel vous aura permis d'y voir plus clair dans l'utilisation de Nano et dans l'édition de texte en général. ^^
Je prépare actuellement un tutoriel similaire, mais sur l'utilisation de l'éditeur Joe cette fois !


Se déplacer avec Nano