709 lines
22 KiB
Text
709 lines
22 KiB
Text
|
<?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>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<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>^X^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>^X^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>^X^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>ser<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>: utilisez les fl<66>ches et la barre de
|
|||
|
d<EFBFBD>filement.</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 plait... Je vous conseille de commencer par le tutorial
|
|||
|
et la <a href="&url.jargon;#FAQ">FAQ*</a>.</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>^X-u</code>
|
|||
|
(qui n'est pas <code>^X^U</code>...) ou ^_.
|
|||
|
|
|||
|
<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>^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, 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>^D</code> (<em>down</em>) / <code>^U</code> (<em>up</em>) fait
|
|||
|
respectivement avancer/reculer le texte d'un demi-<2D>cran. </li>
|
|||
|
<li> <code>^F</code> (<em>forward</em>) / <code>^B</code> (<em>back</em> fait
|
|||
|
avancer/reculer le texte d'un <20>cran.</li>
|
|||
|
<li> <code>^E</code>/<code>^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>^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>^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>^S</code> (<em>search</em>) ou <code>^R</code>
|
|||
|
(<em>rear</em>) pour chercher en arri<72>re; indiquez le mot et tapez <20>
|
|||
|
nouveau <code>^S</code> (<code>^R</code>) pour aller <20> la prochaine
|
|||
|
occurence 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 occurence du mot,
|
|||
|
taper <code>n</code> (<em>next</em>). Pour aller <20> la pr<70>c<EFBFBD>dence
|
|||
|
occurence 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 occurences 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 mo2. La derni<6E>re
|
|||
|
lettre, <code>g</code>, signifie que l'on veut remplacer toutes les
|
|||
|
occurences pr<70>sentes sur chaque ligne. En effet, sans le <20>g<EFBFBD>, seule la
|
|||
|
premi<EFBFBD>re occurence 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>^Y</code> et <code>^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>^W</code> peut
|
|||
|
<EFBFBD>tre coll<6C> ailleurs en tapant <code>^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).</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 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>:</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>:</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.</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>:</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>:</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>.</li>
|
|||
|
|
|||
|
<li> <strong>vim</strong><3E>: <code>^WN</code> (<em>window new</em>). <code>^Wk</code> et
|
|||
|
<code>^Wj</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>:</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>:</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<>cuperer, 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<EFBFBD>l Riou (2002). Derni<6E>re modification le 2002-12-28.
|
|||
|
</div>
|
|||
|
|
|||
|
</body>
|
|||
|
</html>
|
|||
|
|
|||
|
|