From 6768545b4c12d32910f28897f97c7c4480c56dd7 Mon Sep 17 00:00:00 2001
From: jriou
+Voici une classification par niveau des degrés de connaissance de son éditeur.
+Nous développons les deux premiers niveaux, en indiquant juste le nom de la
+commande pour les niveaux suivants : nous estimons en effet qu'à partir
+du niveau 3 vous êtes capables de trouver par vous-mêmes la façon de faire les
+choses, et de chercher tout seuls dans les documentations...
+
+Trois éditeurs sont ici abordés : emacs, nano et vim. L'ordre de préséance
+entre éditeurs répond à un critère alphabétique neutre. Nous nous sommes aussi
+efforcés de ne mettre en avant que des fonctionnalités communes à au moins
+deux éditeurs : les avantages spécifiques de chaque éditeur n'ont donc
+pas leur place ici.
+Enfin, quand nous disons «emacs», cela concerne bien entendu aussi
+«xemacs».
+
+Pour lancer son éditeur favori, la procédure est partout la même. Il faut
+taper dans un terminal* le nom de
+l'éditeur suivi du nom du fichier à éditer; par exemple :
+
+Pour
+pour lancer emacs dans le terminal où vous vous trouvez (sans ouvrir de
+nouvelle fenêtre graphique), ce qui est plus rapide mais vous n'avez pas
+la souris.
+ Quelque soit l'application, vous devez la quitter
+correctement, avec sa commande. Vous ne devez jamais fermer une fenêtre en
+sélectionnant «Fermer» dans le cadre de la fenêtre; dans le cas d'un éditeur
+mal configuré vous risquez de perdre votre travail. Des copies de sauvegarde
+existent et permettent d'en récupérer la majeure partie, mais ce n'est pas un
+pli à prendre... Quittez donc correctement votre éditeur.
+Ce sont ces deux touches qui servent à alterner entre les deux modes. Vous
+découvrirez plus tard les autres touches qui servent à insérer au début ou à
+la fin de la ligne, avant ou après la ligne courante, etc.
+
+Pour effacer du texte en mode insertion, utilisez la touche Backspace. La
+souris ne sert à placer le curseur qu'avec gvim. L'effacement de texte en
+mode commande, beaucoup plus précis, relève du Deuxième
+Cercle...
+Des thèmes sont indiqués entre barres verticales
+(par exemple,
+Il n'y a pas de commande spécifique pour refaire. Un moyen de s'en sortir est
+de taper un caractère et de faire des Undo : il défera alors les Undo
+précédents, i.e. refera ce qui a été défait.
+Les Sept Cercles des Éditeurs de texte
+
+ 1) «Il y a»
+
+
+Lancer son éditeur
+
+
+prao ~ $ emacs rapport.tex
+prao ~ $ nano index.html
+prao ~ $ vim monbofichier
+
+
+emacs
, si vous êtes dans un xterm*, vous pouvez taper :
+
+prao ~ $ emacs -nw rapport.tex
+
+Sauvegarder son texte
+
+
+
+
+
+
+^X^S
(save).
+Vous pouvez aussi cliquer sur le bouton Save
, ou
+sélectionner Save fichier
dans le menu
+File
. Pour sauver votre fichier sous un nom différent, tapez
+^X^W
ou sélectionner Save as...
dans le menu
+File
. Emacs vous demande alors un nom de fichier.^O
. Nano vous demande
+alors sous quel nom enregistrer le fichier. Appuyez sur la touche Entrée
+si vous voulez garder le même nom.:w
(write). Pour
+enregistrer sous un autre nom, faire :sav nouveaunom
.Quitter son éditeur
+
+&icone.attention; Attention &icone.attention;
+
+
+
+
+
+^X^C
ou cliquer sur Exit
+Emacs
dans le menu File
. Emacs vous demande si vous voulez
+sauvegarder votre texte.^X
. Cette commande
+quitte nano en vous demandant si vous voulez enregistrer en
+quittant.:wq
(write quit)
+pour quitter en sauvant. Si vous essayez de quitter vim sans avoir sauvé
+votre texte (avec :q
), il refuse; il faut taper
+:q!
pour forcer la sortie sans sauver le document.Écrire et effacer du texte
+
+
+
+
+
+
+
+
+
+Se déplacer simplement
+
+
+
+
+
+
+
+
+Trouver l'aide
+
+
+
+
+
+
+Help
et
+choisissez ce qui vous plait... Je vous conseille de commencer par le tutorial
+et la FAQ*.^G
ou F1
.:h
+(help). La fenêtre se divise en deux, et un fichier d'aide
+apparaît. Son fonctionnement est décrit dans les premières lignes.
+
+|quickref|
. Pour y accéder, placez le curseur sur le
+mot-clé entre barres et tapez CRTL-] (Controle-crochet fermant). Pour revenir
+au début de l'aide, taper CRTL-T (top). Je vous conseille de
+commencer par |howto.txt|
, qui classe par thèmes les commandes.
+Pour refermer l'écran d'aide, taper :q
(quit).
+ 2) «Je marche seul»
+
+Défaire et refaire une action («undo» et «redo»)
+
+
+
+
+
+Undo
, ou
+sélectionner Undo
dans le menu Edit
. Vous pouvez aussi
+utiliser le raccourci clavier ^X-u
+(qui n'est pas ^X^U
...) ou ^_.
+
+^K
, vous pouvez les
+insérer en faisant ^U
.u
(undo)
+défait la dernière commande. ^R
(redo) refait la dernière
+commande. On peut ainsi faire et refaire l'ensemble des actions
+faites depuis que le fichier a commencé à être édité. Se déplacer plus finement : par lignes, par paragraphes, par
+demi-pages et par pages, etc
+
+
+
+
+
+
+less
.
+
+
+
+
+Ces commandes sont associables avec un quantificateur : $
place le curseur en fin de ligne.^
et 0
(zéro) placent le curseur en début de ligne
+(vous saurez plus tard la différence entre les deux commandes...).w
(word) / b
(back)
+avance/recule d'un mot, curseur au début du mot.e
(end) avance d'un mot, curseur en fin de
+mot.{
et }
(accolades) : respectivement,
+recule et avance d'un paragraphe.(
et )
(parenthèses) : respectivement, recule et avance
+d'une phrase.^D
(down) / ^U
(up) fait
+respectivement avancer/reculer le texte d'un demi-écran. ^F
(forward) / ^B
(back fait
+avancer/reculer le texte d'un écran.^E
/^Y
fait avancer/reculer le texte d'une
+ligne.gg
ou [[
placent tout au début du
+fichier.G
ou ]]
placent tout à la fin du
+fichier.15w
+fait avancer le curseur de 15 mots. Aller à un numéro de ligne précis
+
+
+
+
+
+M-g
(méta) et indiquer
+le numéro de ligne.^_
(line) et
+indiquer le numéro de la ligne.G
à un
+numéro de ligne. Par exemple, 38G
place sur la ligne
+38.Faire une destruction sélective (un caractère, une ligne, une
+phrase, un paragraphe, etc)
+
+
+
+
+
+
+
+
+
^K
efface la fin de la ligne courante.Cut
, ou sélectionner Cut
dans le menu
+Edit
.^W
à l'autre extrémité.
+
+^H
) efface le caractère à gauche du curseur.^D
) efface le caractère placé sous le curseur.^K
efface la fin de la ligne courante.
+
+x
détruit le caractère sous le curseur.X
détruit le caractère à gauche le curseur.dd
détruit la ligne courante.D
détruit la fin de la ligne courante.d
à une commande de déplacement : par
+exemple, dG
pour détruire toute la fin du fichier, d}
pour
+détruire la fin du paragraphe, d3w
pour détruire trois
+mots.v
et utiliser les
+touches de déplacement pour sélectionner un fragment de texte : le texte
+sélectionné est mis en valeur. Taper d
pour détruire le texte
+sélectionné.Chercher un mot
+
+
+
+
+
+Edit
et cliquer sur Search
ou Search
+Backwards
, et taper le mot recherché. Il est quand même plus
+simple de taper ^S
(search) ou ^R
+(rear) pour chercher en arrière; indiquez le mot et tapez à
+nouveau ^S
(^R
) pour aller à la prochaine
+occurence du mot. Une fois arrivé en bas (ou en haut), emacs bippe et
+revient à l'autre bout du texte.
+
+La casse des caractères n'a pas d'importance quand on indique une minuscule.
+Par contre, si on demande une majuscule, il ne cherchera que les
+majuscules.^W
; indiquez
+le mot recherché./
) et indiquer le mot recherché (comme avec less
). La casse des caractères
+peut avoir de l'importance suivant votre configuration (tapez donc les
+mots clefs en minuscules), et vim sait revenir au début du texte quand il
+a atteint la fin du fichier. Pour aller à la prochaine occurence du mot,
+taper n
(next). Pour aller à la précédence
+occurence du mot, taper N
.
+
+Pour chercher un mot en arrière dans le texte, taper ?
puis le mot.
+On se sert de n
et de N
de la même façon.
+Faire une recherche et remplacement simple
+
+
+
+
+
+
+M-%
et compléter, en validant
+chaque terme par un retour à la ligne. Vous pouvez aussi utiliser le bouton
+Replace
ou sélectionner Replace
dans le menu
+Edit
.
+
+Emacs vous demande confirmation pour chaque remplacement : répondre
+y
pour accepter, n
pour refuser, !
+pour tout remplacer d'un coup et q
pour arrêter les
+remplacements.^\
. Entrez la chaîne à
+chercher puis la chaîne de remplacement. Nano demande confirmation pour chaque remplacement : taper y
pour
+accepter le remplacement, n
pour le refuser, a
pour
+remplacer toutes les occurences restantes.:%s/mot1/mot2/g
. Le pour-cent signifie que le remplacement
+se fera dans tout le fichier, s/mot1/mot2/
signifie qu'il
+faut remplacer (substitute
) le mot1 par le mo2. La dernière
+lettre, g
, signifie que l'on veut remplacer toutes les
+occurences présentes sur chaque ligne. En effet, sans le «g», seule la
+première occurence serait traitée.
+
+Si on veut que vim demande confirmation, on peut ajouter un «c» à la
+fin : :%s/mot1/mot2/gc
. Vim vous propose alors plusieurs
+réponses possibles : y
pour accepter le remplacement,
+n
pour le refuser, a
(all) pour tout
+remplacer d'un coup, q
pour quitter. Vous retrouvez aussi
+les commandes ^Y
et ^E
, pour faire reculer ou
+avancer le texte d'une ligne.
+Faire du copier-coller
+
+
+
+
+
+
+
+
Copy
. Cliquer avec le bouton du milieu de
+la souris à l'endroit où on veut coller le texte. Vous aurez reconnu ici
+la méthode standard pour copier/coller du texte d'une fenêtre à
+l'autre.^W
peut
+être collé ailleurs en tapant ^Y
(yank). Si on veut
+copier un bout de texte sans l'effacer, il suffit de l'effacer et de le
+recopier juste après là où il était (ce qui n'empêche pas de le recopier
+ailleurs en autant d'exemplaires qu'on veut).v
et utiliser les touches de déplacement pour sélectionner
+un fragment de texte. Appuyer sur y
(yank) pour
+copier le texte en mémoire. Placer le curseur à l'endroit où on veut
+coller le texte, et appuyer sur p
(put) si vous
+voulez coller après le curseur ou sur P
si vous voulez
+coller avant le curseur.
+yy
fait une copie de la ligne courante. On peut aussi utiliser
+y commande-de-déplacement
pour copier un fragment de texte, sans
+passer par une sélection visuelle.
+
+&icone.attention; Attention &icone.attention;
+Quand vous collez un bout de texte recopié à la souris
+dans un autre terminal, faites attention à être en mode insertion, sinon les
+choses se passeront mal. En effet, vim interprêterait le texte que vous
+collez comme des commandes jusqu'à ce qu'il rencontre des lettres comme
+«i» ou «a» qui font passer en mode insertion.
+Reformater un paragraphe
+
+
+
+
+
+M-q
.^J
. Q
. 3) «Des nôtres»
+
+
+Savoir remplacer du texte : remplacement d'une lettre par une
+autre, d'un fragment de texte par un autre, écrasement du texte
+
+
+
+
+
+
+Inser
pour balancer entre les modes
+insertion et écrasement.r
et et R
(replace).
+ s
et S
(substitute).Faire passer une majuscule en minuscule et inversement
+
+
+
+
+
+
+~
(tilde).Répéter la dernière action
+
+
+
+
+
+
+.
(point).Savoir recoller deux lignes
+
+
+
+
+
+
+J
(join).Repérer les parenthèses, crochets, accolades qui se
+correspondent
+
+
+
+
+
+%
(pour-cent).
+ 4) «Il suffira d'un signe»
+
+
+Associer une fonction simple à une touche précise («mapper» une
+touche)
+
+
+
+
+
+:map touche fonction
.Insérer un fichier extérieur
+
+
+
+
+
+C-x i
ou Insert file
dans le menu
+File
.^R fichier
.:r fichier
.Écrire une partie du texte vers un fichier extérieur
+
+
+
+
+
+:w
+nouveau-fichier
). Utiliser les expressions régulières fondamentales pour une
+recherche : «matcher» un début/une fin de ligne, un chiffre quelconque, une
+lettre quelconque, majuscules et minuscules, une ponctuation, et les
+conjonctions (et, ou, sauf...).
+
+ 5) «Il changeait la vie»
+
+ Savoir utiliser les expressions régulières pour des
+remplacements.
+
+ Être initié aux deux premiers Cercles d'un autre éditeur.
+
+ Associer une fonction complexe ou une série de commandes à une touche
+donnée.
+
+Partager sa fenêtre en plusieurs fenêtres pour éditer plusieurs
+fichiers à la fois.
+
+
+
+
+
+C-x 2
ou Split Window
dans le menu
+File
. Options du menu File
.^WN
(window new). ^Wk
et
+^Wj
pour monter/descendre d'une fenêtre interne.Savoir faire appel à une commande shell
+
+
+
+
+
+:!commande
Connaître et savoir modifier le fichier de configuration de son
+éditeur.
+
+ 6) «Veiller tard»
+
+
+ Savoir gérer plusieurs «tampons» (buffers
+temporaires).
+
+ Savoir placer des marques dans le texte pour s'y reporter.
+
+ Savoir se servir de la colorisation syntaxique
+et forcer un type de colorisation quand ce n'est pas automatique.
+
+Savoir faire appel à une commande shell et en insérer le résultat
+dans le fichier de travail
+
+
+
+
+
+
+:r!commande
Savoir soutenir un assaut de mauvaise foi face à un défenseur de
+l'alignement opposé.
+
+
+ 7) «Au bout de mes rêves»
+
+ Savoir récuperer, patcher, installer, compiler, configurer, paramétrer
+son éditeur.
+
+ Savoir réécrire son fichier de configuration sans avoir de modèle sous
+les yeux.
+
+ Savoir créer une nouvelle colorisation syntaxique.
+
+ Des références sur les éditeurs :
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/unix/editeurs/index.tml b/unix/editeurs/index.tml
index 13bbe6c..b87db80 100644
--- a/unix/editeurs/index.tml
+++ b/unix/editeurs/index.tml
@@ -27,6 +27,12 @@ avec un traitement de textes) sont donc deux
compilation).
+
+
+
+Pour apprendre progressivement à utiliser les éditeurs emacs
+et vim
, vous pouvez consulter les 7
+cercles des éditeurs de textes.
+
@@ -68,8 +74,8 @@ question d'habitude!
Dans tous les cas, il faut veiller à sauver son document très régulièrement -pendant qu'on l'écrit, et à quitter correctement l'éditeur (avec sa commande -spécifique). +pendant qu'on l'écrit, et à quitter correctement l'éditeur (avec sa commande spécifique).