tuteurs.ens.fr/unix/editeurs/cercles.tml

777 lines
25 KiB
Text
Raw Normal View History

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>7 Cercles</title>
</head>
<body>
<h1>Les Sept Cercles des <20>diteurs de texte</h1>
<p>
Voici une classification par niveau des degr<67>s de connaissance de son <20>diteur.
Nous d<>veloppons les deux premiers niveaux, en indiquant juste le nom de la
commande pour les niveaux suivants<74>: nous estimons en effet qu'<27> partir
du niveau 3 vous <20>tes capables de trouver par vous-m<>mes la fa<66>on de faire les
choses, et de chercher tout seuls dans les documentations...
</p>
<p>
Trois <20>diteurs sont ici abord<72>s<EFBFBD>: emacs, nano et vim. L'ordre de pr<70>s<EFBFBD>ance
entre <20>diteurs r<>pond <20> un crit<69>re alphab<61>tique neutre. Nous nous sommes aussi
efforc<EFBFBD>s de ne mettre en avant que des fonctionnalit<69>s communes <20> au moins
deux <20>diteurs<72>: les avantages sp<73>cifiques de chaque <20>diteur n'ont donc
pas leur place ici.</p>
<p>
Enfin, quand nous disons <20>emacs<63>, cela concerne bien entendu aussi
<EFBFBD>xemacs<EFBFBD>.
</p>
<p>
Pour noter les raccourcis claviers, on utilise des notations diff<66>rentes
suivant les <20>diteurs, pour suivre la fa<66>on dont les touches sont indiqu<71>es
dans l'aide. On a donc:
</p>
<ul>
<li> <strong>emacs</strong><3E>: <code>C-x</code> pour control-x, c'est <20> dire
la touche x avec le modificateur control en m<>me temps. De m<>me
<code>M-x</code> repr<70>sente la touche x avec le modificateur m<>ta.</li>
<li> <strong>nano</strong><3E>: <code>^X</code> pour control-x. </li>
<li> <strong>vim</strong><3E>: <code>CTRL-X</code> pour control-x. </li>
</ul>
<h2><a name="1"> 1) <20>Il y a<> </a> </h2>
<h3>Lancer son <20>diteur</h3>
<p>
Pour lancer son <20>diteur favori, la proc<6F>dure est partout la m<>me. Il faut
taper dans un <a
href="&url.jargon;#xterm">terminal*</a> le nom de
l'<27>diteur suivi du nom du fichier <20> <20>diter; par exemple<6C>:
</p>
<pre>
<span class="prompt">prao ~ $</span><3E>emacs rapport.tex
<span class="prompt">prao ~ $</span><3E>nano index.html
<span class="prompt">prao ~ $</span><3E>vim monbofichier
</pre>
<p>
Pour <code>emacs</code>, si vous <20>tes dans un <a
href="&url.jargon;#xterm">xterm*</a>, vous pouvez taper<65>:
</p>
<pre>
<span class="prompt">prao ~ $</span><3E>emacs -nw rapport.tex
</pre>
<p class="continue">
pour lancer emacs dans le terminal o<> vous vous trouvez (sans ouvrir de
nouvelle fen<65>tre graphique), ce qui est plus rapide mais vous n'avez pas
la souris.
</p>
<h3>Sauvegarder son texte</h3>
<ul>
<li> <strong>emacs</strong><3E>: taper <code>C-x C-s</code> (<em>save</em>).
Vous pouvez aussi cliquer sur le bouton <code>Save</code>, ou
s<EFBFBD>lectionner <code>Save <em>fichier</em></code> dans le menu
<code>File</code>. Pour sauver votre fichier sous un nom diff<66>rent, tapez
<code>C-x C-w</code> ou s<>lectionner <code>Save as...</code> dans le menu
<code>File</code>. Emacs vous demande alors un nom de fichier.</li>
<li> <strong>nano</strong><3E>: taper <code>^O</code>. Nano vous demande
alors sous quel nom enregistrer le fichier. Appuyez sur la touche Entr<74>e
si vous voulez garder le m<>me nom.</li>
<li> <strong>vim</strong><3E>: taper <code>:w</code> (<em>write</em>). Pour
enregistrer sous un autre nom, faire <code>:sav nouveaunom</code>.</li>
</ul>
<h3><a name="quitter">Quitter son <20>diteur</a></h3>
<div class="attention">
<h1>&icone.attention;<3B>Attention<6F>&icone.attention;</h1>
<p>Quelque soit l'application, vous devez la quitter
correctement, avec sa commande. Vous ne devez jamais fermer une fen<65>tre en
s<EFBFBD>lectionnant <20>Fermer<65> dans le cadre de la fen<65>tre; dans le cas d'un <20>diteur
mal configur<75> vous risquez de perdre votre travail. Des copies de sauvegarde
existent et permettent d'en r<>cup<75>rer la majeure partie, mais ce n'est pas un
pli <20> prendre... Quittez donc correctement votre <20>diteur.</p>
</div>
<ul>
<li> <strong>emacs</strong><3E>: taper <code>C-x C-c</code> ou cliquer sur <code>Exit
Emacs</code> dans le menu <code>File</code>. Emacs vous demande si vous voulez
sauvegarder votre texte.</li>
<li> <strong>nano</strong><3E>: taper <code>^X</code>. Cette commande
quitte nano en vous demandant si vous voulez enregistrer en
quittant.</li>
<li> <strong>vim</strong><3E>: taper <code>:wq</code> (<em>write quit</em>)
pour quitter en sauvant. Si vous essayez de quitter vim sans avoir sauv<75>
votre texte (avec <code>:q</code>), il refuse; il faut taper
<code>:q!</code> pour forcer la sortie sans sauver le document.</li>
</ul>
<h3><3E>crire et effacer du texte</h3>
<ul>
<li> <strong>emacs</strong><3E>: taper directement... Vous pouvez positionner le
curseur <20> l'aide de la souris. Pour effacer, utilisez la touche
Backspace.</li>
<li> <strong>nano</strong><3E>: vous pouvez aussi taper directement. La souris par
contre ne vous sert <20> rien.</li>
<li> <strong>vim</strong><3E>: il y a deux modes dans vim, un mode insertion (dans
lequel on <20>crit du texte) et un mode commande (o<> les touches correspondent <20>
une fonction). Par d<>faut, quand vous lancez vim, vous <20>tes en mode
commande.
<ul>
<li> Passer en mode insertion <20> l'endroit o<> se trouve le curseur<75>: appuyez
sur la touche <20>i<EFBFBD> (<28>ins<6E>rer<65>). Le mot <20>INSERT<52> appara<72>t en bas de
l'<27>cran et vous signale que vous <20>tes en mode insertion.</li>
<li> Passer en mode commande<64>: appuyez sur la touche <20>Escape<70>. Le mot <20>INSERT<52>
dispara<EFBFBD>t.</li>
</ul>
<p>
Ce sont ces deux touches qui servent <20> alterner entre les deux modes. Vous
d<EFBFBD>couvrirez plus tard les autres touches qui servent <20> ins<6E>rer au d<>but ou <20>
la fin de la ligne, avant ou apr<70>s la ligne courante, etc.
</p>
<p>
Pour effacer du texte en mode insertion, utilisez la touche Backspace. La
souris ne sert <20> placer le curseur qu'avec gvim. L'effacement de texte en
mode commande, beaucoup plus pr<70>cis, rel<65>ve du Deuxi<78>me
Cercle...</p></li>
</ul>
<h3>Se d<>placer simplement</h3>
<ul>
<li> <strong>emacs</strong><3E>: deux solutions
<ul>
<li>Utilisez les fl<66>ches et la barre de d<>filement.</li>
<li>Il y a des commandes sp<73>cifiques pour se de-placer, qui sont les m<>me
que dans un shell, et qui aident a retenir les touches de d<>placement
complexe: <code>C-f</code> pour avancer (forward), <code>C-b</code> pour
reculer (backward), <code>C-n</code> pour descendre (next) et
<code>C-p</code> pour monter (previous).</li>
</ul>
</li>
<li> <strong>nano</strong><3E>: utilisez les fl<66>ches.</li>
<li> <strong>vim</strong><3E>:
<ul>
<li> En mode insertion<6F>: utilisez les fl<66>ches. Avec gvim vous disposez d'une
barre de d<>filement.</li>
<li> En mode commande<64>: vous disposez de ces moyens, ainsi que des mythiques
touches h, j, k et l, fondamentales pour se d<>placer dans un grand nombre de
jeux<EFBFBD>: h pour aller <20> gauche, l <20> droite, j vers le bas, et k vers le
haut.</li>
</ul>
</li>
</ul>
<h3>Trouver l'aide</h3>
<ul>
<li> <strong>emacs</strong><3E>: que dire... Cliquez sur le menu <code>Help</code> et
choisissez ce qui vous pla<6C>t... Je vous conseille de commencer par le tutorial
et la <a href="&url.jargon;#FAQ">FAQ*</a>. Vous pouvez aussi utiliser les
commandes en <code>C-h</code> suivi d'une lettre pour avoir de l'aide sur
diff<EFBFBD>rent aspects d'emacs. Par exemple, <code>C-h t</code> lance le
tutorial, et <code>C-h C-h</code> vous donne l'aide sur l'aide.</li>
<li> <strong>nano</strong><3E>: les commandes que vous pouvez faire sont
indiqu<EFBFBD>es dans les deux lignes en bas du terminal. Une aide succinte est
n<EFBFBD>anmoins disponible en tapant <code>^G</code> ou <code>F1</code>.</li>
<li> <strong>vim</strong><3E>: en mode commande, taper <code>:h</code>
(<em>help</em>). La fen<65>tre se divise en deux, et un fichier d'aide
appara<EFBFBD>t. Son fonctionnement est d<>crit dans les premi<6D>res lignes.
<p>
Des th<74>mes sont indiqu<71>s entre barres verticales
(par exemple, <code>|quickref|</code>. Pour y acc<63>der, placez le curseur sur le
mot-cl<63> entre barres et tapez CRTL-] (Controle-crochet fermant). Pour revenir
au d<>but de l'aide, taper CRTL-T (<em>top</em>). Je vous conseille de
commencer par <code>|howto.txt|</code>, qui classe par th<74>mes les commandes.
Pour refermer l'<27>cran d'aide, taper <code>:q</code> (<em>quit</em>).
</p></li>
</ul>
<h2><a name="2"> 2) <20>Je marche seul<75> </a> </h2>
<h3>D<>faire et refaire une action (<28>undo<64> et <20>redo<64>)</h3>
<ul>
<li> <strong>emacs</strong><3E>: utiliser le bouton <code>Undo</code>, ou
s<EFBFBD>lectionner <code>Undo</code> dans le menu <code>Edit</code>. Vous pouvez aussi
utiliser le raccourci clavier <code>C-x u</code>
(qui n'est pas <code>C-x C-u</code>...) ou <code>C-_</code> ou <code>C-/</code>.
<p>
Il n'y a pas de commande sp<73>cifique pour refaire. Un moyen de s'en sortir est
de taper un caract<63>re et de faire des Undo<64>: il d<>fera alors les Undo
pr<EFBFBD>c<EFBFBD>dents, i.e. refera ce qui a <20>t<EFBFBD> d<>fait.
</p></li>
<li> <strong>nano</strong><3E>: cela n'est pas possible<6C>! Cependant si
vous avez effac<61> des lignes en faisant <code>^K</code>, vous pouvez les
ins<EFBFBD>rer en faisant <code>^U</code>.</li>
<li> <strong>vim</strong><3E>: (en mode commande). <code>u</code> (<em>undo</em>)
d<EFBFBD>fait la derni<6E>re commande. <code>CTRL-R</code> (<em>redo</em>) refait la derni<6E>re
commande. On peut ainsi faire et refaire l'ensemble des actions
faites depuis que le fichier a commenc<6E> <20> <20>tre <20>dit<69>. </li>
</ul>
<h3>Se d<>placer plus finement<6E>: par lignes, par paragraphes, par
demi-pages et par pages, etc</h3>
<ul>
<li> <strong>emacs</strong> :
<ul>
<li>
Les commandes de d<>placement <code>C-f</code>, <code>C-b</code>,
<code>C-n</code> et <code>C-p</code> agissent diff<66>remment si on change de
modificateur:
<ul>
<li><code>M-f</code> et <code>M-b</code> se d<>placent par mot.</li>
<li><code>M-n</code> et <code>M-p</code> se d<>placent par paragraphes.</li>
<!-- <li><code>C-M-f</code> et <code>C-M-b</code> se d<>placent par Foo.</li> -->
<!-- <li><code>C-M-n</code> et <code>C-M-p</code> se d<>placent par Bar.</li> -->
</ul>
</li>
<li>
Il y a aussi quelques commandes suppl<70>mentaires :
<ul>
<li> <code>Home</code> ou <code>C-a</code> placent le curseur en d<>but de
ligne.</li>
<li> <code>End</code> ou <code>C-e</code> place le curseur en fin de ligne.
</li>
<li> <code>M-a</code> placent le curseur en d<>but de phrase.</li>
<li> <code>M-e</code> place le curseur en fin de phrase.</li>
<li> <code>C-v</code> / <code>M-v</code> fait
respectivement avancer/reculer le texte d'un <20>cran. </li>
<li> <code>M-&lt;</code> / <code>M-&gt;</code> placent respectivement tout
au d<>but/tout <20> la fin du fichier.</li>
</ul>
</li>
</ul>
</li>
<li> <strong>nano</strong><3E>: Utiliser les touches de d<>placement
usuelles....</li>
<li> <strong>vim</strong><3E>: on peut utiliser les touches de d<>placement,
mais on peut aussi tout faire en mode commande. Ces commandes de
d<EFBFBD>placement sont aussi celles de <code><a
href="&url.tuteurs;unix/fichiers.html#less">less</a></code>.
<ul>
<li> <code>$</code> place le curseur en fin de ligne.</li>
<li> <code>^</code> et <code>0</code> (z<>ro) placent le curseur en d<>but de ligne
(vous saurez plus tard la diff<66>rence entre les deux commandes...).</li>
<li> <code>w</code> (<em>word</em>) / <code>b</code> (<em>back</em>)
avance/recule d'un mot, curseur au d<>but du mot.</li>
<li> <code>e</code> (<em>end</em>) avance d'un mot, curseur en fin de
mot.</li>
<li> <code>{</code> et <code>}</code> (accolades)<29>: respectivement,
recule et avance d'un paragraphe.</li>
<li> <code>(</code> et <code>)</code> (parenth<74>ses)<29>: respectivement, recule et avance
d'une phrase.</li>
<li> <code>CTRL-D</code> (<em>down</em>) / <code>CTRL-U</code> (<em>up</em>) fait
respectivement avancer/reculer le texte d'un demi-<2D>cran. </li>
<li> <code>CTRL-F</code> (<em>forward</em>) / <code>CTRL-B</code> (<em>back</em> fait
avancer/reculer le texte d'un <20>cran.</li>
<li> <code>CTRL-E</code>/<code>CTRL-Y</code> fait avancer/reculer le texte d'une
ligne.</li>
<li> <code>gg</code> ou <code>[[</code> placent tout au d<>but du
fichier.</li>
<li> <code>G</code> ou <code>]]</code> placent tout <20> la fin du
fichier.</li>
</ul>
Ces commandes sont associables avec un quantificateur<75>: <code>15w</code>
fait avancer le curseur de 15 mots. </li></ul>
<h3>Aller <20> un num<75>ro de ligne pr<70>cis</h3>
<ul>
<li> <strong>emacs</strong><3E>: Taper <code>M-g</code> (m<>ta) et indiquer
le num<75>ro de ligne.</li>
<li> <strong>nano</strong><3E>: Taper <code>^_</code> (<em>line</em>) et
indiquer le num<75>ro de la ligne.</li>
<li> <strong>vim</strong><3E>: on associe la commande <code>G</code> <20> un
num<EFBFBD>ro de ligne. Par exemple, <code>38G</code> place sur la ligne
38.</li>
</ul>
<h3>Faire une destruction s<>lective (un caract<63>re, une ligne, une
phrase, un paragraphe, etc)</h3>
<ul>
<li> <strong>emacs</strong><3E>:
<ul>
<li> La touche BACKSPACE efface le caract<63>re <20> gauche du curseur.</li>
<li> La touche DELETE efface le caract<63>re plac<61> sous le curseur.</li>
<li> <code>C-k</code> efface la fin de la ligne courante.</li>
<li> Pour effacer un fragment de texte, le s<>lectionner <20> la souris et cliquer
sur le bouton <code>Cut</code>, ou s<>lectionner <code>Cut</code> dans le menu
<code>Edit</code>.</li>
<li> On peut <20>galement effacer un fragment quelconque au clavier
en tapant Ctrl-espace <20> une extr<74>mit<69> de la zone <20> s<>lectionner, et
<code>C-w</code> <20> l'autre extr<74>mit<69>.</li>
</ul></li>
<li> <strong>nano</strong><3E>:
<ul>
<li> La touche BACKSPACE (ou <code>^H</code>) efface le caract<63>re <20> gauche du curseur.</li>
<li> Les touches DELETE (ou <code>^D</code>) efface le caract<63>re plac<61> sous le curseur.</li>
<li> <code>^K</code> efface la fin de la ligne courante.</li>
</ul>
</li>
<li> <strong>vim</strong><3E>: (en mode commande)<29>:
<ul>
<li> <code>x</code> d<>truit le caract<63>re sous le curseur.</li>
<li> <code>X</code> d<>truit le caract<63>re <20> gauche le curseur.</li>
<li> <code>dd</code> d<>truit la ligne courante.</li>
<li> <code>D</code> d<>truit la fin de la ligne courante.</li>
<li> On peut aussi associer <code>d</code> <20> une commande de d<>placement<6E>: par
exemple, <code>dG</code> pour d<>truire toute la fin du fichier, <code>d}</code> pour
d<EFBFBD>truire la fin du paragraphe, <code>d3w</code> pour d<>truire trois
mots.</li>
<li> Passer en mode visuel avec la commande <code>v</code> et utiliser les
touches de d<>placement pour s<>lectionner un fragment de texte<74>: le texte
s<EFBFBD>lectionn<EFBFBD> est mis en valeur. Taper <code>d</code> pour d<>truire le texte
s<EFBFBD>lectionn<EFBFBD>.</li>
</ul>
</li>
</ul>
<h3>Chercher un mot</h3>
<ul>
<li> <strong>emacs</strong><3E>: vous pouvez faire appel au menu
<code>Edit</code> et cliquer sur <code>Search</code> ou <code>Search
Backwards</code>, et taper le mot recherch<63>. Il est quand m<>me plus
simple de taper <code>C-s</code> (<em>search</em>) ou <code>C-r</code>
(<em>rear</em>) pour chercher en arri<72>re; indiquez le mot et tapez <20>
nouveau <code>C-s</code> (<code>C-r</code>) pour aller <20> la prochaine
occurrence du mot. Une fois arriv<69> en bas (ou en haut), emacs bippe et
revient <20> l'autre bout du texte.<br />
La casse des caract<63>res n'a pas d'importance quand on indique une minuscule.
Par contre, si on demande une majuscule, il ne cherchera que les
majuscules.</li>
<li> <strong>nano</strong><3E>: taper <code>^W</code>; indiquez
le mot recherch<63>.</li>
<li> <strong>vim</strong><3E>: en mode commande, appuyer sur le slash
(<code>/</code>) et indiquer le mot recherch<63> (comme avec <a
href="&url.tuteurs;unix/fichiers.html#less"><code>less</code></a>). La casse des caract<63>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 <20> la prochaine occurrence du mot,
taper <code>n</code> (<em>next</em>). Pour aller <20> la pr<70>c<EFBFBD>dente
occurrence du mot, taper <code>N</code>.<br />
Pour chercher un mot en arri<72>re dans le texte, taper <code>?</code> puis le mot.
On se sert de <code>n</code> et de <code>N</code> de la m<>me fa<66>on.
</li>
</ul>
<h3>Faire une recherche et remplacement simple</h3>
<ul>
<li> <strong>emacs</strong><3E>: taper <code>M-%</code> et compl<70>ter, en validant
chaque terme par un retour <20> la ligne. Vous pouvez aussi utiliser le bouton
<code>Replace</code> ou s<>lectionner <code>Replace</code> dans le menu
<code>Edit</code>.<br />
Emacs vous demande confirmation pour chaque remplacement<6E>: r<>pondre
<code>y</code> pour accepter, <code>n</code> pour refuser, <code>!</code>
pour tout remplacer d'un coup et <code>q</code> pour arr<72>ter les
remplacements.</li>
<li> <strong>nano</strong><3E>: taper <code>^\</code>. Entrez la cha<68>ne <20>
chercher puis la cha<68>ne de remplacement. Nano demande confirmation pour chaque remplacement<6E>: taper <code>y</code> pour
accepter le remplacement, <code>n</code> pour le refuser, <code>a</code> pour
remplacer toutes les occurrences restantes.</li>
<li> <strong>vim</strong><3E>: on utilise la commande
<code>:%s/mot1/mot2/g</code>. Le pour-cent signifie que le remplacement
se fera dans tout le fichier, <code>s/mot1/mot2/</code> signifie qu'il
faut remplacer (<code>substitute</code>) le mot1 par le mot2. La derni<6E>re
lettre, <code>g</code>, signifie que l'on veut remplacer toutes les
occurrences pr<70>sentes sur chaque ligne. En effet, sans le <20>g<EFBFBD>, seule la
premi<EFBFBD>re occurrence serait trait<69>e.<br />
Si on veut que vim demande confirmation, on peut ajouter un <20>c<EFBFBD> <20> la
fin<EFBFBD>: <code>:%s/mot1/mot2/gc</code>. Vim vous propose alors plusieurs
r<EFBFBD>ponses possibles<65>: <code>y</code> pour accepter le remplacement,
<code>n</code> pour le refuser, <code>a</code> (<em>all</em>) pour tout
remplacer d'un coup, <code>q</code> pour quitter. Vous retrouvez aussi
les commandes <code>CTRL-Y</code> et <code>CTRL-E</code>, pour faire reculer ou
avancer le texte d'une ligne.
</li>
</ul>
<h3>Faire du copier-coller</h3>
<ul>
<li> <strong>emacs</strong><3E>: <ul> <li> Avec la souris : s<>lectionner un
fragment de texte avec le bouton gauche souris et cliquer sur le bouton
<code>Copy</code>. Cliquer <strong>avec le bouton du milieu</strong> de
la souris <20> l'endroit o<> on veut coller le texte. Vous aurez reconnu ici
la m<>thode standard pour copier/coller du texte d'une fen<65>tre <20>
l'autre.</li>
<li> Au clavier : un texte qui a <20>t<EFBFBD> effac<61> avec <code>C-w</code> ou
<code>C-k</code> peut
<EFBFBD>tre coll<6C> ailleurs en tapant <code>C-y</code> (<em>yank</em>). Si on veut
copier un bout de texte sans l'effacer, il suffit de l'effacer et de le
recopier juste apr<70>s l<> o<> il <20>tait (ce qui n'emp<6D>che pas de le recopier
ailleurs en autant d'exemplaires qu'on veut). On peut r<>cup<75>rer un texte
copier il y a longtemps avec <code>C-y</code> suivis d'un ou plusieurs
<code>M-y</code>. On peut aussi copier la r<>gion s<>lectionn<6E>e sans la
couper avec <code>M-w</code></li> </ul> </li>
<li> <strong>nano</strong><3E>: cela n'est pas possible. Mais vous pouvez
utiliser la technique du copy-paste avec la souris.</li>
<li> <strong>vim</strong><3E>: Passer en mode visuel avec la commande
<code>v</code> et utiliser les touches de d<>placement pour s<>lectionner
un fragment de texte. Appuyer sur <code>y</code> (<em>yank</em>) pour
copier le texte en m<>moire. Placer le curseur <20> l'endroit o<> on veut
coller le texte, et appuyer sur <code>p</code> (<em>put</em>) si vous
voulez coller apr<70>s le curseur ou sur <code>P</code> si vous voulez
coller avant le curseur.
<code>yy</code> fait une copie de la ligne courante. On peut aussi utiliser
<code>y commande-de-d<>placement</code> pour copier un fragment de texte, sans
passer par une s<>lection visuelle.
<div class="attention">
<h1>&icone.attention;<3B>Attention<6F>&icone.attention;</h1>
Quand vous collez un bout de texte recopi<70> <20> la souris
dans un autre terminal, faites attention <20> <20>tre en mode insertion, sinon les
choses se passeront mal. En effet, vim interpr<70>terait le texte que vous
collez comme des commandes jusqu'<27> ce qu'il rencontre des lettres comme
<EFBFBD>i<EFBFBD> ou <20>a<EFBFBD> qui font passer en mode insertion.
</div>
</li>
</ul>
<h3>Reformater un paragraphe</h3>
<ul>
<li> <strong>emacs</strong><3E>: <code>M-q</code>.</li>
<li> <strong>nano</strong><3E>: <code>^J</code>. </li>
<li> <strong>vim</strong><3E>: <code>Q</code>.</li>
</ul>
<h2><a name="3"> 3) <20>Des n<>tres<65></a> </h2>
<h3>Savoir remplacer du texte <20>: remplacement d'une lettre par une
autre, d'un fragment de texte par un autre, <20>crasement du texte</h3>
<ul>
<li> <strong>emacs</strong><3E>: <code>Inser</code> pour balancer entre les modes
insertion et <20>crasement.</li>
<li> <strong>vim</strong><3E>: <code>r</code> et <code>R</code> (<em>replace</em>).
<code>s</code> et <code>S</code> (<em>substitute</em>).</li>
</ul>
<h3>Faire passer une majuscule en minuscule et inversement</h3>
<ul>
<li> <strong>emacs</strong><3E>: <code>M-l</code> et <code>M-u</code>.</li>
<li> <strong>vim</strong><3E>: <code>~</code> (tilde).</li>
</ul>
<h3>R<>p<EFBFBD>ter la derni<6E>re action</h3>
<ul>
<li> <strong>emacs</strong><3E>:<code>C-x ESC ESC</code>.</li>
<li> <strong>vim</strong><3E>: <code>.</code> (point).</li>
</ul>
<h3>Savoir recoller deux lignes </h3>
<ul>
<li> <strong>emacs, nano</strong><3E>: pas de commande sp<73>cifique; on recolle les deux
lignes en effa<66>ant le caract<63>re de fin de ligne, donc backspace en
d<>but de ligne, ou Delete en fin de ligne.</li>
<li> <strong>vim</strong><3E>: <code>J</code> (<em>join</em>).</li>
</ul>
<h3>Rep<65>rer les parenth<74>ses, crochets, accolades qui se
correspondent</h3>
<ul>
<li> <strong>emacs</strong><3E>: colorisation syntaxique et <code>C-M-f</code>
/ <code>C-M-b</code>.</li>
<li> <strong>vim</strong><3E>: colorisation syntaxique et <code>%</code> (pour-cent).
</li>
</ul>
<h2><a name="4"> 4) <20>Il suffira d'un signe<6E> </a> </h2>
<h3>Associer une fonction simple <20> une touche pr<70>cise (<28>mapper<65> une
touche)</h3>
<ul>
<li> <strong>emacs</strong><3E>: <code>M-x local-set-key</code> ou <code>M-x
global-set-key</code>.</li>
<li> <strong>vim</strong><3E>: <code>:map touche fonction</code>.</li>
</ul>
<h3>Ins<6E>rer un fichier ext<78>rieur</h3>
<ul>
<li> <strong>emacs</strong><3E>: <code>C-x i</code> ou <code>Insert file</code> dans le menu
<code>File</code>.</li>
<li> <strong>nano</strong><3E>: <code>^R fichier</code>.</li>
<li> <strong>vim</strong><3E>: <code>:r fichier</code>.</li>
</ul>
<h3><3E>crire une partie du texte vers un fichier ext<78>rieur</h3>
<ul>
<li> <strong>emacs</strong><3E>: <code>M-x write-region</code></li>
<li> <strong>vim</strong><3E>: s<>lectionner un bloc et sauver le texte s<>lectionn<6E> (<code>:w
nouveau-fichier</code>).</li>
</ul>
<h3> Utiliser les expressions r<>guli<6C>res fondamentales pour une
recherche<EFBFBD>: <20>matcher<65> un d<>but/une fin de ligne, un chiffre quelconque, une
lettre quelconque, majuscules et minuscules, une ponctuation, et les
conjonctions (et, ou, sauf...).</h3>
<h2> <a name="5"> 5) <20>Il changeait la vie<69> </a></h2>
<h3> Savoir utiliser les expressions r<>guli<6C>res pour des
remplacements.</h3>
<h3> <20>tre initi<74> aux deux premiers Cercles d'un autre <20>diteur.</h3>
<h3> Associer une fonction complexe ou une s<>rie de commandes <20> une touche
donn<EFBFBD>e. </h3>
<h3>Partager sa fen<65>tre en plusieurs fen<65>tres pour <20>diter plusieurs
fichiers <20> la fois.</h3>
<ul>
<li> <strong>emacs</strong><3E>: <code>C-x 2</code> ou <code>Split
Window</code> dans le menu <code>File</code>. Options du menu
<code>File</code>. <code>C-x o</code> pour changer de fen<65>tre.</li>
<li> <strong>vim</strong><3E>: <code>-CTRL-W N</code> (<em>window
new</em>). <code>CTRL-W k</code> et
<code>CTRL-W j</code> pour monter/descendre d'une fen<65>tre interne.</li>
</ul>
<h3>Savoir faire appel <20> une commande shell</h3>
<ul>
<li> <strong>emacs</strong><3E>: <code>M-!</code></li>
<li> <strong>vim</strong><3E>: <code>:!commande</code></li>
</ul>
<h3> Conna<6E>tre et savoir modifier le fichier de configuration de son
<EFBFBD>diteur.</h3>
<h2> <a name="6">6) <20>Veiller tard<72> </a></h2>
<h3> Savoir g<>rer plusieurs <20>tampons<6E> (<em>buffers</em>
temporaires).</h3>
<h3> Savoir placer des marques dans le texte pour s'y reporter.</h3>
<h3> Savoir se servir de la colorisation syntaxique
et forcer un type de colorisation quand ce n'est pas automatique.</h3>
<h3>Savoir faire appel <20> une commande shell et en ins<6E>rer le r<>sultat
dans le fichier de travail</h3>
<ul>
<li> <strong>emacs</strong><3E>: <code>C-u M-!</code></li>
<li> <strong>nano</strong><3E>: copier-coller le r<>sultat produit par
l'appel d'une commande shell dans un autre terminal.</li>
<li> <strong>vim</strong><3E>: <code>:r!commande</code></li>
</ul>
<h3> Savoir soutenir un assaut de mauvaise foi face <20> un d<>fenseur de
l'alignement oppos<6F>.</h3>
<h2> <a name="7">7) <20>Au bout de mes r<>ves<65> </a> </h2>
<h3> Savoir r<>cup<75>rer, patcher, installer, compiler, configurer, param<61>trer
son <20>diteur.</h3>
<h3> Savoir r<><72>crire son fichier de configuration sans avoir de mod<6F>le sous
les yeux.</h3>
<h3> Savoir cr<63>er une nouvelle colorisation syntaxique.</h3>
<h2> <a name="reference">Des r<>f<EFBFBD>rences sur les <20>diteurs<72>:</a> </h2>
<ol>
<li> <strong>Emacs</strong><3E>:
<ul>
<li><a href="http://www.gnu.org/software/emacs/emacs.html">GNU Emacs</a><3E>: le
site officiel.</li>
<li> <a href="http://www.xemacs.org/">Xemacs</a><3E>: le site
officiel.</li>
<li> <a
href="http://www.linux-france.com/article/appli/emacs/index.html">Emacs</a>
sur Linux-France<63>: liens vers la FAQ, tutorial, et d'autres choses.</li>
</ul></li>
<li> <strong>vim</strong><3E>:
<ul>
<li> <a href="http://www.vim.org/">vim</a><3E>: le site officiel.</li>
<li> <a href="http://echo-linux.alienor.fr/articles/vi/vi.html">Guide de
survie sous VI ou VI par l'exemple</a><3E>: Article d'introduction <20> VI, en
fran<EFBFBD>ais, paru dans l'<27>cho de Linux. Vraiment tr<74>s bien...</li>
<li> <a
href="http://www.lmcp.jussieu.fr/informatique/guide/vi.html">Aide-m<>moire pour
l'utilisation de vi</a>. Envisage, ce qui est rare, les options courantes du
.vimrc.</li>
</ul>
</li>
</ol>
<div class="metainformation">
Auteur<75>: Dominique Quatravaux (1998), <20>milia Robin (1998, 2000),
Jo<4A>l Riou (2002), Ga<47>tan LEURENT (2004). Derni<6E>re modification le
<date value="$Date: 2004-12-04 00:51:30 $" />.
</div>
</body>
</html>