scratch/output/Scratch/fr/blog/Learn-Vim-Progressively/index.html
Yann Esposito (Yogsototh) 57d77cd030 Regen complete
2012-04-02 23:43:39 +02:00

594 lines
No EOL
27 KiB
HTML

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="keywords" content="vi, vim, editor, tutoriel, apprendre">
<link rel="shortcut icon" type="image/x-icon" href="/Scratch/img/favicon.ico" />
<link rel="stylesheet" type="text/css" href="/Scratch/assets/css/main.css" />
<link rel="stylesheet" type="text/css" href="/Scratch/css/solarized.css" />
<link rel="stylesheet" type="text/css" href="/Scratch/css/idc.css" />
<link rel="alternate" type="application/rss+xml" title="RSS" href="http://feeds.feedburner.com/yannespositocomfr"/>
<link rel="alternate" lang="fr" xml:lang="fr" title="Apprenez Vim Progressivement" type="text/html" hreflang="fr" href="/Scratch/fr/blog/Learn-Vim-Progressively/" />
<link rel="alternate" lang="en" xml:lang="en" title="Learn Vim Progressively" type="text/html" hreflang="en" href="/Scratch/en/blog/Learn-Vim-Progressively/" />
<script type="text/javascript" src="/Scratch/js/jquery-1.3.1.min.js"></script>
<script type="text/javascript" src="/Scratch/js/jquery.cookie.js"></script>
<script type="text/javascript" src="/Scratch/js/index.js"></script>
<!--[if lt IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
<![endif]-->
<title>Apprenez Vim Progressivement</title>
</head>
<body lang="fr" class="article">
<script type="text/javascript">// <![CDATA[
document.write('<div id="blackpage"><img src="/Scratch/img/loading.gif" alt="Chargement en cours..."/></div>');
// ]]>
</script>
<div id="content">
<div id="choix">
<div class="return"><a href="#entete">&darr; Menu &darr;</a></div>
<div id="choixlang">
<a href="/Scratch/en/blog/Learn-Vim-Progressively/" onclick="setLanguage('en')">in English</a>
</div>
<div class="flush"></div>
</div>
<div id="titre">
<h1>
Apprenez Vim Progressivement
</h1>
</div>
<div class="flush"></div>
<div class="flush"></div>
<div id="afterheader">
<div class="corps">
<p><img alt="Über leet use vim!" src="/Scratch/img/blog/Learn-Vim-Progressively/uber_leet_use_vim.jpg" /></p>
<div class="intro">
<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> Vous désirez apprendre vim (le meilleur editeur de texte connu à ce jour) le plus rapidement possible. Voici mes conseils pour vous aider. Commencez à apprendre le minimum vital, puis apprenez doucement de nouvelles commandes.</p>
</div>
<p><a href="http://www.vim.org">Vim</a> ou l&rsquo;éditeur qui vallait 3 milliards&nbsp;:</p>
<blockquote>
<p>Meilleur, plus fort, plus rapide.</p>
</blockquote>
<p>Apprenez <a href="http://www.vim.org">vim</a> et ce sera votre dernier éditeur.
Aucun éditeur que je connaisse ne le surpasse.
Sa prise en mais est difficile, mais payante.</p>
<p>Je vous conseille de l&rsquo;apprendre en 4 étapes&nbsp;:</p>
<ol>
<li>La survie</li>
<li>Se sentir à son aise</li>
<li>Se sentir meilleur, plus fort et plus rapide</li>
<li>Tirer parti des super-pouvoirs de vim</li>
</ol>
<p>À la fin de ces leçons vous serez transformé.</p>
<p>Avant de commencer, un message pour vous prévenir.
Apprendre vim sera difficile au début.
Ça prendra du temps.
Vous devrez vous entraîner.
Apprendre vim ressemble beaucoup à apprendre un instrument de musique.
N&rsquo;espérez pas être plus efficace avec vim qu&rsquo;avec un autre éditeur avant au moins trois jours.
En fait ça sera certainement plus 2 semaines que 3 jours.</p>
<h2 id="er-niveau----survivre">1<sup>er</sup> Niveau &ndash; Survivre</h2>
<ol>
<li>Installez <a href="http://www.vim.org">vim</a></li>
<li>Lancez vim</li>
<li>NE TOUCHEZ A RIEN! Lisez</li>
</ol>
<p>Dans un éditeur normal, il suffit de taper sur une touche du clavier et la lettre s&rsquo;affiche à l&rsquo;écran.
Pas ici.
Vim est en mode <em>Normal</em>.
Commençons par placer vim en mode <em>Insert</em>.
Tapez sur la touche <code>i</code>.</p>
<p>Voilà, c&rsquo;est magique.
Vous pouvez tapez comme dans un éditeur standard.
Pour repasser en mode Normal tapez sur la touche <code>Echap</code>.</p>
<p>Maintenant que vous savez passer du mode <em>Normal</em> au mode <em>Insert</em>.
Voici les commandes de survie (toutes en mode <em>Normal</em>)&nbsp;:</p>
<blockquote>
<ul>
<li><code>i</code> → Passer en mode insértion. Taper <code>Echap</code> pour repasser en mode Normal.</li>
<li><code>x</code> → Supprimer le caractère sous le curseur</li>
<li><code>:wq</code> → Sauvegarder et quitter (<code>:w</code> sauvegarde, <code>:q&lt;enter&gt;</code> quitter)</li>
<li><code>dd</code> → Supprimer (et copier) la ligne courante</li>
<li><code>p</code> → Coller</li>
</ul>
<p>Récommandées&nbsp;:</p>
<ul>
<li><code>hjkl</code> (optionnel) → se déplacer (&larr;&darr;&uarr;→). Souvenez vous <code>j</code> ressemble à une flèche vers le bas.</li>
<li><code>:help &lt;commande&gt;</code> → Affiche l&rsquo;aide pour <code>&lt;commande&gt;</code>. Vous pouvez aussi écrire <code>:help</code> pour atterir sur l&rsquo;aide générale.</li>
</ul>
</blockquote>
<p>Seulement 5 commandes.
Voilà, c&rsquo;est tout pour un début.
Essayez d&rsquo;éditer vos fichiers comme ça pendant une petite journée.
Lorsque ces commandes vous sembleront naturelles,
vous pourrez passer à l&rsquo;étape d&rsquo;après. </p>
<p>Mais avant un petit mot sur le mode Normal.
Dans un éditeur normal pour copier il faut utiliser une combinaison de touches (<code>Ctrl-c</code>).
En fait, lorsque vous appuyez sur la touche <code>Ctrl</code>, c&rsquo;est un peu comme si toutes les touches du clavier avaient un autre usage.
Dans vim, lorsque vous êtes en mode Normal, c&rsquo;est comme si vous mainteniez <code>Ctrl</code> enfoncé.</p>
<p>Quelques mots concernant les notations&nbsp;:</p>
<ul>
<li>Au lieu d&rsquo;écrire <code>Ctrl-λ</code>, j&rsquo;écrirai <code>&lt;C-λ&gt;</code>. </li>
<li>Les commandes qui commencent par <code>:</code> ont un retour à la ligne implicite à la fin. Par exemple lorsque que j&rsquo;écris, <code>:q</code> celà signifi qu&rsquo;il faut taper <code>:</code>, suivi de <code>q</code>, suivi de <code>&lt;Return&gt;</code>.</li>
</ul>
<h2 id="me-niveau----se-sentir--son-aise">2<sup>ème</sup> Niveau &ndash; Se sentir à son aise</h2>
<p>Vous connaissez les commandes de survie.
Passons à des commandes pour être un peu plus à notre aise.
Je vous suggère&nbsp;:</p>
<ol>
<li>
<p>Les variantes de l&rsquo;insertion</p>
<blockquote>
<ul>
<li><code>a</code> → Comme <code>i</code>, mais après la position du curseur.</li>
<li><code>o</code> → Comme <code>i</code>, mais à la ligne suivante.</li>
<li><code>O</code> → Comme <code>o</code> mais ajoute la ligne avant.</li>
<li><code>cw</code> → Remplacer la fin du mot.</li>
</ul>
</blockquote>
</li>
<li>
<p>Déplacements basiques</p>
<blockquote>
<ul>
<li><code>0</code> → Aller à la première colonne.</li>
<li><code>^</code> → Aller au premier caractère de la ligne.</li>
<li><code>$</code> → Aller à la fin de la ligne.</li>
<li><code>g_</code> → Aller au dernier caractère de la ligne.</li>
<li><code>/pattern</code> → Rechercher <code>pattern</code> dans le fichier.</li>
</ul>
</blockquote>
</li>
<li>
<p>Copier/Coller</p>
<blockquote>
<ul>
<li><code>P</code> → Coller avant. Souvenez vous, <code>p</code> colle après la position du curseur.</li>
<li><code>yy</code> → Copier la ligne courante. C&rsquo;est plus simple et équivalent à <code>ddP</code></li>
</ul>
</blockquote>
</li>
<li>
<p>Annuler/Refaire</p>
<blockquote>
<ul>
<li><code>u</code> → Annuler (undo)</li>
<li><code>&lt;C-r&gt;</code> → Refaire</li>
</ul>
</blockquote>
</li>
<li>
<p>Ouvrir/Sauvegarder/Quitter/Changer de fichier (buffer)</p>
<blockquote>
<ul>
<li><code>:e &lt;path/to/file&gt;</code> → Ouvrir.</li>
<li><code>:w</code> → Sauvegarder.</li>
<li><code>:saveas &lt;path/to/file&gt;</code> → Sauvegarder sous &hellip;</li>
<li><code>:x</code>, <code>ZZ</code> ou <code>:wq</code> → Sauvegarder et quitter (<code>:x</code> sauvegarde seulement si nécessaire).</li>
<li><code>:q!</code> → Quitter sans sauvegarder. De même <code>:qa!</code> quitte même si d&rsquo;autres fichiers (buffers) ont des modifications non sauvegardées.</li>
<li><code>:bn</code> (resp. <code>:bp</code>) → Affiche le fichier suivant (resp. précédent).</li>
</ul>
</blockquote>
</li>
</ol>
<p>Prenez le temps de bien intégrer ces commandes.
Une fois fait, vous devriez être capable de faire tout ce qu&rsquo;on peut attendre d&rsquo;un éditeur de texte classique.</p>
<h2 id="ime-niveau----meilleur-plus-fort-plus-rapide">3ième Niveau &ndash; Meilleur. Plus fort. Plus rapide.</h2>
<p>Bravo&nbsp;! Si vous êtes arrivé jusqu&rsquo;ici nous allons pouvoir commencer à apprendre les choses vraiment intéressantes.
Pour cette section, je vais seulement parler de commandes disponible dans vi et vim.
Vim est la contraction de &ldquo;vi improved&rdquo;, ou en Français, &ldquo;vi amélioré&rdquo;.</p>
<h3 id="meilleur">Meilleur</h3>
<p>Voyons comment nous pouvons éviter les répétitions avec vi&nbsp;:</p>
<ol>
<li><code>.</code> → Le caractère point répètera la dernière commande. Très utile.</li>
<li>N<code>&lt;commande&gt;</code> → répètera la commande N fois. </li>
</ol>
<p>Quelques exemples, ouvrez un fichier (non vide) avec vim et tapez&nbsp;:</p>
<blockquote>
<ul>
<li><code>2dd</code> → Supprimera 2 lignes</li>
<li><code>3p</code> → copiera 3 fois d&rsquo;affiler le texte copié</li>
<li><code>100idesu [ESC]</code> → écrira &ldquo;desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu &ldquo;</li>
<li><code>.</code> → Juste après la dernière commande réécrira les 100 &ldquo;desu &ldquo;. </li>
<li><code>3.</code> → Écrira 3 &ldquo;desu&rdquo; et non pas 300. Bien vu n&rsquo;est-ce pas&nbsp;?</li>
</ul>
</blockquote>
<h3 id="plus-fort">Plus fort</h3>
<p>Savoir se déplacer efficacement avec vim est <em>très</em> important.
Ne sautez pas cette section.</p>
<ol>
<li>N<code>G</code> → Aller à la ligne N</li>
<li><code>gg</code> → raccourci pour <code>1G</code>, retourner au début du fichier</li>
<li><code>G</code> → Aller à la dernière ligne.</li>
<li>
<p>Déplacement autour des mots:</p>
<blockquote>
<ol>
<li><code>w</code> → aller au début du mot suivant</li>
<li><code>e</code> → aller à la fin du mot courant</li>
</ol>
<p>Par défaut les mots sont seulement composés de lettres (et du caractère souligné <code>_</code>).
Appelons un MOT un ensemble de lettre séparé par des caractères blancs (espaces, tabulation).
Si vous voulez considérer des MOTS alors il suffit d&rsquo;utiliser les majuscules.</p>
<ol>
<li><code>W</code> → aller au début du MOT suivant</li>
<li><code>E</code> → aller à la fin du MOT courant</li>
</ol>
<p><img alt="Word moves example" src="/Scratch/img/blog/Learn-Vim-Progressively/word_moves.jpg" /></p>
</blockquote>
</li>
</ol>
<p>Passons aux commandes de déplacement les plus efficaces&nbsp;:</p>
<blockquote>
<ul>
<li><code>%</code>&nbsp;: Aller à la parenthèse, accolade, crochet correspondante.</li>
<li><code>*</code> (resp. <code>#</code>)&nbsp;: Aller à la prochaine (resp. précédente) occurrence du mot sous le curseur</li>
</ul>
</blockquote>
<p>Croyez moi, ces trois dernières commandes valent de l&rsquo;or.
Retenez les et vous gagnerez beaucoup de temps.</p>
<h3 id="plus-rapide">Plus rapide</h3>
<p>Vous vous souvenez que j&rsquo;ai dit que les déplacements étaient très importants en vi.
Voilà pourquoi.
Une façon de travailler avec vim est de se dire que l&rsquo;on fait des &ldquo;phrases&rdquo;.
Le verbe étant la commande et les compléments définissent la zone d&rsquo;action.
De façon générale&nbsp;:</p>
<p><code>&lt;position de depart&gt;&lt;commande&gt;&lt;position d'arrivee&gt;</code></p>
<p>Par exemple&nbsp;: <code>0y$</code> signifie&nbsp;:</p>
<ul>
<li><code>0</code> → Aller au début de la ligne,</li>
<li><code>y</code> → copie à partir d&rsquo;ici,</li>
<li><code>$</code> → jusqu&rsquo;à la fin de cette ligne.</li>
</ul>
<p>On peut donc faire des choses comme <code>ye</code>, copie à partir de la position courante du curseur jusqu&rsquo;à là fin du mot.
Mais aussi: <code>y2/toto</code> copie jusqu&rsquo;à la seconde prochaine occurrence de &ldquo;toto&rdquo;.</p>
<p>Ce qui est vrai pour <code>y</code> (yank → copier),
est aussi vrai pour <code>d</code> (delete → supprimer), <code>v</code> (sélection visuelle), <code>gU</code> (uppercase → majuscule),<code>gu</code> (lowercase → minuscule), etc&hellip;</p>
<h2 id="ime-niveau----les-super-pouvoirs-de-vim">4ième Niveau &ndash; Les super pouvoirs de Vim</h2>
<p>Jusqu&rsquo;ici vous avez appris les commandes les plus courantes.
Mais voici les killer features de vim.
Celles que je n&rsquo;ai retrouvé que dans vim (ou presque).</p>
<h3 id="dplacement-sur-la-ligne--0---g-f-f-t-t--">Déplacement sur la ligne&nbsp;: <code>0</code> <code>^</code> <code>$</code> <code>g_</code> <code>f</code> <code>F</code> <code>t</code> <code>T</code> <code>,</code> <code>;</code></h3>
<blockquote>
<ul>
<li><code>0</code> → aller à la colonne 0,</li>
<li><code>^</code> → aller au premier caractère de la ligne</li>
<li><code>$</code> → aller à la dernière colonne de la ligne</li>
<li><code>g_</code> → aller au dernier caractère de la ligne</li>
<li><code>fa</code> → vous amène à la prochaine occurrence de a sur la ligne courante. <code>,</code> (resp. <code>;</code>) recherche l&rsquo;occurrence suivante (resp. précédente).</li>
<li><code>t,</code> → vous amène juste avant le <code>,</code>.</li>
<li><code>3fa</code> → recherche la 3ième occurrence de <code>a</code>.</li>
<li><code>F</code> et <code>T</code> → comme <code>f</code> et <code>t</code> mais en arrière.
<img alt="Line moves" src="/Scratch/img/blog/Learn-Vim-Progressively/line_moves.jpg" /></li>
</ul>
</blockquote>
<p>Un truc pratique&nbsp;: <code>dt"</code> → supprime tout jusqu&rsquo;au prochain <code>"</code>.</p>
<h3 id="selection-de-zone-actionaobject-ou-actioniobject">Selection de zone <code>&lt;action&gt;a&lt;object&gt;</code> ou <code>&lt;action&gt;i&lt;object&gt;</code></h3>
<p>Ces commandes sont utilisable seulement en mode visuel ou après un &ldquo;opérateur&rdquo;.
Mais elles sont très puissantes. Leur forme générale est:</p>
<p><code>&lt;action&gt;a&lt;objet&gt;</code> et <code>&lt;action&gt;i&lt;objet&gt;</code></p>
<p>Où action peut être par exemple <code>d</code> (delete), <code>y</code> (yank), <code>v</code> (select in visual mode), etc&hellip;
Un objet peut être: <code>w</code> un mot, <code>W</code> un MOT (mot étendu), <code>s</code> une phrase, <code>p</code> un paragraphe. Mais aussi des caractère plus naturels comme <code>"</code>, <code>'</code>, <code>)</code>, <code>}</code>, <code>]</code>.</p>
<p>Supposons que le curseur soit positionné sur le premier <code>o</code> dans <code>(map (+) ("foo"))</code>.</p>
<blockquote>
<ul>
<li><code>vi"</code> → sélectionnera <code>foo</code>.</li>
<li><code>va"</code> → sélectionnera <code>"foo"</code>.</li>
<li><code>vi)</code> → sélectionnera <code>"foo"</code>.</li>
<li><code>va)</code> → sélectionnera <code>("foo")</code>.</li>
<li><code>v2i)</code> → sélectionnera <code>map (+) ("foo")</code></li>
<li><code>v2a)</code> → sélectionnera <code>(map (+) ("foo"))</code></li>
</ul>
</blockquote>
<p><img alt="Text objects selection" src="/Scratch/img/blog/Learn-Vim-Progressively/textobjects.png" /></p>
<h3 id="slection-de-blocs-rectangulaires--c-v">Sélection de blocs rectangulaires&nbsp;: <code>&lt;C-V&gt;</code>.</h3>
<p>Les blocs rectangulaires sont très commodes pour commenter plusieurs lignes de codes.
Typiquement: <code>^&lt;C-V&gt;&lt;C-d&gt;I-- [ESC]</code></p>
<ul>
<li><code>^</code> → aller en début de ligne</li>
<li><code>&lt;C-V&gt;</code> → Commencer la sélection du bloc</li>
<li><code>&lt;C-d&gt;</code> → se déplacer vers le bas (pourrait être <code>jjj</code> ou <code>%</code> etc&hellip;)</li>
<li><code>I-- [ESC]</code> → écrit <code>-- </code> pour commenter le reste de la ligne.</li>
</ul>
<p><img alt="Rectangular blocks" src="/Scratch/img/blog/Learn-Vim-Progressively/rectangular-blocks.gif" /></p>
<p>Remarquez que sous windows, vous devez utiliser <code>&lt;C-q&gt;</code> plutôt que <code>&lt;C-v&gt;</code> si votre &ldquo;presse papier&rdquo; n&rsquo;est pas vide.</p>
<h3 id="compltion--c-n-et-c-p">Complétion&nbsp;: <code>&lt;C-n&gt;</code> et <code>&lt;C-p&gt;</code>.</h3>
<p>En mode Insert, commencez à écrire le début d&rsquo;un mot déjà présent dans l&rsquo;un des buffers (fichers) ouvert et tapes <code>&lt;C-p&gt;</code>. Magique.
<img alt="Completion" src="/Scratch/img/blog/Learn-Vim-Progressively/completion.gif" /> </p>
<h3 id="macros--qa-faire-quelque-chose-q-a-">Macros&nbsp;: <code>qa</code> faire quelque chose <code>q</code>, <code>@a</code>, <code>@@</code></h3>
<p><code>qa</code> enregistre tout ce que vous faite et enregistre le tout dans le <em>registre</em> <code>a</code>.
Ensuite <code>@a</code> va rejouer la macro enregistrée dans le registre <code>a</code> comme si c&rsquo;est vous qui tapiez au clavier.
<code>@@</code> est un raccourci pour rejouer la dernière macro exécutée.</p>
<blockquote>
<p>Exemple&nbsp;:
Sur une ligne contenant seulement un 1 tapez&nbsp;:</p>
<ul>
<li>
<p><code>qaYp&lt;C-a&gt;q</code></p>
<ul>
<li><code>qa</code> → début de l&rsquo;enregistrement.</li>
<li><code>Yp</code> → copier cette ligne.</li>
<li><code>&lt;C-a&gt;</code> → incrémente le nombre.</li>
<li><code>q</code> → arrête d&rsquo;enregistrer.</li>
</ul>
</li>
<li><code>@a</code> → écrit un 2 sous le 1.</li>
<li>Écrivez <code>100@@</code>. Cela va créer une liste de nombre croissants jusqu&rsquo;à 103.</li>
</ul>
</blockquote>
<p><img alt="Macros" src="/Scratch/img/blog/Learn-Vim-Progressively/macros.gif" /></p>
<h3 id="slection-visuelle--vvc-v">Sélection visuelle&nbsp;: <code>v</code>,<code>V</code>,<code>&lt;C-v&gt;</code></h3>
<p>On a déjà vu un exemple avec <code>&lt;C-V&gt;</code>.
Mais il y a aussi, <code>v</code> et <code>V</code>.
Et une fois la sélection visuelle faite vous pouvez par exemple:</p>
<ul>
<li><code>J</code> → joindre toutes les lignes pour en faire une seule</li>
<li><code>&lt;</code> (resp. <code>&gt;</code>) → indenter à gauche (resp. à droite).</li>
<li><code>=</code> → auto indenter</li>
</ul>
<p><img alt="Autoindent" src="/Scratch/img/blog/Learn-Vim-Progressively/autoindent.gif" /></p>
<p>Ajouter quelque chose à la fin de toutes les lignes sélectionnées visuellement&nbsp;: </p>
<ul>
<li><code>&lt;C-v&gt;</code> </li>
<li>aller jusqu&rsquo;à la ligne désirée (<code>jjj</code> ou <code>&lt;C-d&gt;</code> ou <code>/pattern</code> ou <code>%</code> etc&hellip;)</li>
<li><code>$</code> aller à la fin </li>
<li><code>A</code>, écrire le texte, <code>Echap</code>.</li>
</ul>
<p><img alt="Ajouter à la fin de plusieurs lignes" src="/Scratch/img/blog/Learn-Vim-Progressively/append-to-many-lines.gif" /></p>
<h3 id="splits--split-et-vsplit">Splits&nbsp;: <code>:split</code> et <code>vsplit</code>.</h3>
<p>Je vous conseille de faire un <code>:help split</code>.
Celà permet de manipuler plusieurs buffer sur la même fenêtre.
Voici les commandes principales&nbsp;:</p>
<blockquote>
<ul>
<li><code>:split</code> → crée un split (<code>:vsplit</code> crée un split vertical)</li>
<li><code>&lt;C-w&gt;&lt;dir&gt;</code> → où dir est l&rsquo;un de <code>hjkl</code> ou &larr;&darr;&uarr;→ permet de changer de split.</li>
<li><code>&lt;C-w&gt;_</code> (resp. <code>&lt;C-w&gt;|</code>) → Maximise la taille du split (resp. split vertical)</li>
<li><code>&lt;C-w&gt;+</code> (resp. <code>&lt;C-w&gt;-</code>) → Agrandi (resp. diminue) le split</li>
</ul>
</blockquote>
<p><img alt="Split" src="/Scratch/img/blog/Learn-Vim-Progressively/split.gif" /></p>
<h2 id="conclusion">Conclusion</h2>
<p>Voilà, je vous ai donné 90% des commandes que j&rsquo;utilise tous les jours.
N&rsquo;essayez pas de toutes les apprendre en une journée.
Il faut le temps de s&rsquo;habituer à chaque nouvelle commande.
Je vous conseille de ne pas apprendre plus d&rsquo;une ou deux commandes par jour.</p>
<p>Apprendre Vim est plus une question d&rsquo;entraînement que de mémorisation.
Heureusement vim est founi avec un très bon tutoriel et une excellente documentation.
Lancez vimtutor jusqu&rsquo;à ce que vous vous sentiez à l&rsquo;aise avec les commandes basiques.
De plus, vous devriez aussi lire en détail la page suivate&nbsp;: <code>:help usr_02.txt</code>.</p>
<p>Ensuite vous découvrirez <code>!</code>, les folds, les registres, les plugins et tout un tas d&rsquo;autres choses.
Apprenez vim comme vous apprendriez le piano et vous devriez très bien vous en sortir.</p>
<script>
// Style the keywords
$(document).ready(function() {
$('code').css({ 'border': 'solid 1px #CCC', 'padding':'3px'});
});
</script>
</div>
<div id="choixrss">
<a id="rss" href="http://feeds.feedburner.com/yannespositocomfr">
s'abonner
</a>
</div>
<script type="text/javascript">
$(document).ready(function(){
$('#comment').hide();
$('#clickcomment').click(showComments);
});
function showComments() {
$('#comment').show();
$('#clickcomment').fadeOut();
}
document.write('<div id="clickcomment">Commentaires</div>');
</script>
<div class="flush"></div>
<div class="corps" id="comment">
<h2 class="first">commentaires</h2>
<noscript>
Vous devez activer javascript pour commenter.
</noscript>
<script type="text/javascript">
var idcomments_acct = 'a307f0044511ff1b5cfca573fc0a52e7';
var idcomments_post_id = '/Scratch/fr/blog/Learn-Vim-Progressively/';
var idcomments_post_url = 'http://yannesposito.com/Scratch/fr/blog/Learn-Vim-Progressively/';
</script>
<span id="IDCommentsPostTitle" style="display:none"></span>
<script type='text/javascript' src='/Scratch/js/genericCommentWrapperV2.js'></script>
</div>
<div id="entete" class="corps_spaced">
<div id="liens">
<ul><li><a href="/Scratch/fr/">Bienvenue</a></li>
<li><a href="/Scratch/fr/blog/">Blog</a></li>
<li><a href="/Scratch/fr/softwares/">Softwares</a></li>
<li><a href="/Scratch/fr/about/">À propos</a></li></ul>
</div>
<div class="flush"></div>
<hr/>
<div id="next_before_articles">
<div id="previous_articles">
articles précédents
<div class="previous_article">
<a href="/Scratch/fr/blog/A-more-convenient-diff/"><span class="nicer">«</span>&nbsp;Un diff plus pratique</a>
</div>
<div class="previous_article">
<a href="/Scratch/fr/blog/Haskell-Mandelbrot/"><span class="nicer">«</span>&nbsp;Mandelbrot avec haskell</a>
</div>
<div class="previous_article">
<a href="/Scratch/fr/blog/Password-Management/"><span class="nicer">«</span>&nbsp;Password Management</a>
</div>
</div>
<div id="next_articles">
articles suivants
<div class="next_article">
<a href="/Scratch/fr/blog/programming-language-experience/">Mon expérience avec les languages de programmation&nbsp;<span class="nicer">»</span></a>
</div>
<div class="next_article">
<a href="/Scratch/fr/blog/Higher-order-function-in-zsh/">Fonctions d'ordre supérieur en zsh&nbsp;<span class="nicer">»</span></a>
</div>
<div class="next_article">
<a href="/Scratch/fr/blog/Yesod-excellent-ideas/">Les idées de yesod&nbsp;<span class="nicer">»</span></a>
</div>
</div>
<div class="flush"></div>
</div>
</div>
<div id="bottom">
<div>
<a href="http://twitter.com/yogsototh">Suivez-moi</a>
</div>
<div>
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/deed.fr">Droits de reproduction ©, Yann Esposito</a>
</div>
<div id="lastmod">
Écrit le : 25/08/2011
modifié le : 26/10/2011
</div>
<div>
Site entièrement réalisé avec
<a href="http://www.vim.org">Vim</a>
et
<a href="http://nanoc.stoneship.org">nanoc</a>
</div>
</div>
<div class="clear"></div>
</div>
</body>
</html>