scratch/output/Scratch/fr/blog/Efficient-Vim-knowledge/index.html

357 lines
15 KiB
HTML
Raw Normal View History

2011-08-19 14:08:50 +00:00
<?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" />
<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/twilight.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="Vim efficace avec peu d'efforts" type="text/html" hreflang="fr" href="/Scratch/fr/blog/Efficient-Vim-knowledge/" />
<link rel="alternate" lang="en" xml:lang="en" title="Efficient Vim knowledge" type="text/html" hreflang="en" href="/Scratch/en/blog/Efficient-Vim-knowledge/" />
<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]-->
<!-- < % if containMaths %>
<script type="text/javascript" src="/Scratch/js/MathJax/MathJax.js"></script>
< % end %>
-->
<title>Vim efficace avec peu d'efforts</title>
</head>
<body lang="fr">
<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/Efficient-Vim-knowledge/" onclick="setLanguage('en')">in English</a>
</div>
</div>
<div id="titre">
<h1>
Vim efficace avec peu d'efforts
</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/Efficient-Vim-knowledge/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.</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 connaise ne le surpasse.
Sa prise en mais est difficile, mais payante.</p>
2011-08-22 15:26:15 +00:00
<p>Je vous conseille de l&rsquo;apprendre en 4 étapes&nbsp;:</p>
2011-08-19 14:08:50 +00:00
<ol>
<li>La survie</li>
2011-08-22 15:26:15 +00:00
<li>Se sentir à son aise</li>
2011-08-19 14:08:50 +00:00
<li>Se sentir meilleur, plus fort et plus rapide</li>
<li>Les super-pouvoirs</li>
</ol>
2011-08-22 15:26:15 +00:00
<p>Après ces leçons, vous serez une super star de l&rsquo;édition de texte.</p>
2011-08-19 16:28:36 +00:00
<h2 id="er-niveau-survivre">1<sup>er</sup> Niveau: survivre</h2>
2011-08-19 14:08:50 +00:00
<ol>
2011-08-19 16:28:36 +00:00
<li>Installez <a href="http://www.vim.org">vim</a></li>
2011-08-22 15:26:15 +00:00
<li>Lancez vim</li>
2011-08-19 14:08:50 +00:00
<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>edition</em>.
2011-08-22 15:26:15 +00:00
Commençons par placer vim en mode <em>insertion</em>.
2011-08-19 14:08:50 +00:00
Tapez sur la touche <code>i</code>.</p>
<p>Voilà, c&rsquo;est magique.
Vous pouvez tapez comme dans un éditeur standard.
2011-08-22 15:26:15 +00:00
Pour repasser en mode édition tapez sur la touche <code>Echap</code>.</p>
2011-08-19 14:08:50 +00:00
<p>Maintenant que vous savez passer du mode edition au mode insertion. Voici les commandes de survie (toutes en mode edition)&nbsp;:</p>
2011-08-22 15:26:15 +00:00
<blockquote>
<ul>
<li><code>i</code>&nbsp;: Passer en mode insértion. Taper Echap pour repasser en mode edition.</li>
<li><code>x</code>&nbsp;: Supprimer le caractère sous le curseur</li>
<li><code>:wq</code>&nbsp;: Sauvegarder et quitter (<code>:w</code> sauvegarde, <code>:q</code> quitter)</li>
<li><code>dd</code>&nbsp;: Supprimer (et copier) la ligne courante</li>
<li><code>p</code>&nbsp;: Coller</li>
<li><code>hjkl</code> (optionnel)&nbsp;: se déplacer (&larr;&darr;&uarr;&rarr;). Souvenez vous <code>j</code> ressemble à une flèche vers le bas.</li>
</ul>
</blockquote>
<p>Seulement 5 commandes. Voilà, c&rsquo;est tout pour un début.
Essayez d&rsquo;éditer vos fichier comme ça pendant une petite journée.
Lorsque ces commandes vous seront devenues naturelle.
Vous pouvez passer à l&rsquo;étape d&rsquo;après. </p>
2011-08-19 14:08:50 +00:00
2011-08-22 15:26:15 +00:00
<h2 id="me-niveau---se-sentir--son-aise">2<sup>ème</sup> Niveau - Se sentir à son aise</h2>
2011-08-19 14:08:50 +00:00
<p>Vous connaissez les commandes de survie. Passons à des commandes pour être un peu plus à notre aise. Je vous suggère&nbsp;:</p>
2011-08-22 15:26:15 +00:00
<ol>
<li>
<p>Les variantes de l&rsquo;insertion</p>
<blockquote>
<ul>
<li><code>a</code>&nbsp;: comme <code>i</code>, mais après la position du curseur.</li>
<li><code>o</code>&nbsp;: comme <code>i</code>, mais à la ligne suivante</li>
<li><code>O</code>&nbsp;: comme <code>o</code> mais ajoute la ligne avant.</li>
<li><code>cw</code>&nbsp;: remplacer le mot sous le curseur.</li>
</ul>
</blockquote>
</li>
<li>
<p>Déplacements basiques</p>
<blockquote>
<ul>
<li><code>0</code>&nbsp;: aller à la première colonne</li>
<li><code>^</code>&nbsp;: aller au premier caratère de la ligne</li>
<li><code>$</code>&nbsp;: aller à la fin de la ligne</li>
<li><code>/pattern</code>&nbsp;: rechercher <code>pattern</code> dans le fichier.</li>
</ul>
</blockquote>
</li>
<li>
<p>Copier/Coller</p>
<blockquote>
<ul>
<li><code>P</code>&nbsp;: Coller avant, souvenez-vous que <code>p</code> collait après la position du curseur.</li>
<li><code>yy</code>&nbsp;: copier la ligne courante. C&rsquo;est plus simple et équivalent à <code>ddP</code></li>
</ul>
</blockquote>
</li>
</ol>
<h2 id="niveau-3---meilleur-plus-fort-plus-rapide">Niveau 3 - Meilleur. Plus fort. Plus rapide.</h2>
<p>À partir de maintenant nous allons commencer à faire des choses difficile à faire dans les autres éditeurs.
N&rsquo;oubliez pas qu&rsquo;à la fin de cet article vous n&rsquo;aurez touché du doigt que la partie émerger du continent iceberg qu&rsquo;est vim.
Pour l&rsquo;instant la seule commande qui vous donne un avant goût de ce qu&rsquo;est la puissance de vim était <code>cw</code>. Qui permet de remplacer un mot.
Nous allons maintenant nous intéresser à des commandes qui vont vous donner plus de pouvoir et d&rsquo;efficacité.
Pour cette section, je vais seulement parler de choses qui était aussi disponible dans <code>vi</code>. Vim peut faire beaucoup d&rsquo;autres choses.</p>
<p>Commençons par le premier super pouvoir de <code>vi</code>, éviter les répétitions (niveau 1):</p>
2011-08-19 14:08:50 +00:00
2011-08-22 15:26:15 +00:00
<ol>
<li><code>.</code>&nbsp;: Le caractère point répètera la dernière commande.</li>
<li>N<commande>&nbsp;: répètera la commande N fois. </commande></li>
</ol>
<p>Quelques examples, ouvrez un fichier avec vim et tapez:</p>
<blockquote>
<ul>
<li><code>2dd</code> &rarr; Supprimera 2 lignes</li>
<li><code>3p</code> &rarr; copiera 3 fois d&rsquo;affiler le texte copié</li>
<li><code>100idesu [ESC]</code> &rarr; é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> &rarr; Juste après la dernière commande réécrira les 100 &ldquo;desu &ldquo;. </li>
<li><code>3.</code> &rarr; Écrira 3 &ldquo;desu&rdquo;.</li>
</ul>
</blockquote>
2011-08-19 14:08:50 +00:00
2011-08-22 15:26:15 +00:00
<p>Second super pouvoir de vim, les déplacements (niveau 1):
Savoir se déplacer efficacement avec vim est <em>très</em> important, ne sautez pas cette section.</p>
2011-08-19 14:08:50 +00:00
<ol>
2011-08-22 15:26:15 +00:00
<li>N<code>G</code> &rarr; Aller à la ligne N</li>
<li><code>gg</code> &rarr; raccourci pour <code>1G</code>, retourner au début du fichier</li>
<li><code>G</code> &rarr; Aller à la dernière ligne.</li>
<li>
<p>Déplacement autour des mots:</p>
<blockquote>
<ol>
<li><code>w</code> &rarr; aller au début du mot suivant</li>
<li><code>e</code> &rarr; 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>).
Si vous voulez considérer les mots au sens &ldquo;jusqu&rsquo;au prochain espace&rdquo;, alors il suffit d&rsquo;utiliser les majuscules.</p>
<ol>
<li><code>W</code> &rarr; aller au début du mot &ldquo;étendu&rdquo; suivant</li>
<li><code>E</code> &rarr; aller à la fin du mot &ldquo;étendu&rdquo; courant</li>
</ol>
</blockquote>
</li>
2011-08-19 14:08:50 +00:00
</ol>
2011-08-22 15:26:15 +00:00
<p>Maintenant passons aux déplacement qui vont vous faire sentir vraiment meilleur&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>
2011-08-19 14:08:50 +00:00
<h2 id="niveau-3---intermdiaire">Niveau 3 - Intermédiaire</h2>
<p>À partir de maintenant, je vais vous donner les commandes que j&rsquo;utilise le plus souvent et qui vont vous faire gagner beaucoup de temps.</p>
<p><code>S-V</code>&nbsp;: Sélectionner des lignes
&rarr; d les supprimer + copier
&rarr; </p>
<p><code>C-t</code>&nbsp;: Ajoute une tabulation
<code>C-d</code>&nbsp;: Supprime une tabulation</p>
<p><code>C-v I</code>&nbsp;: Ajoute du texte à toutes les lignes sélectionnées
<code>C-v c</code>&nbsp;: Remplace le bloc et répètera le contenu sur toutes les lignes.</p>
<p><code>*</code>&nbsp;: Chercher la prochaine occurence du mot sous le curseur
<code>#</code>&nbsp;: comme <code>*</code> mais dans le sens contraire</p>
</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/Efficient-Vim-knowledge/';
var idcomments_post_url = 'http://yannesposito.com/Scratch/fr/blog/Efficient-Vim-knowledge/';
</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>
<div id="next_articles">
articles suivants
</div>
<div class="flush"></div>
</div>
</div>
<div id="bottom">
<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 : 17/08/2011
modifié le : 19/08/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>
<a href="/Scratch/fr/validation/">Validation</a>
<a href="http://validator.w3.org/check?uri=referer"> [xhtml] </a>
.
<a href="http://jigsaw.w3.org/css-validator/check/referer?profile=css3"> [css] </a>
.
<a href="http://validator.w3.org/feed/check.cgi?url=http%3A//yannesposito.com/Scratch/fr/blog/feed/feed.xml">[rss]</a>
</div>
</div>
<div class="clear"></div>
</div>
<script type="text/javascript">
var clicky = { log: function(){ return; }, goal: function(){ return; }};
var clicky_site_id = 66374971;
(function() {
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = ( document.location.protocol == 'https:' ? 'https://static.getclicky.com/js' : 'http://static.getclicky.com/js' );
( document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0] ).appendChild( s );
})();
</script>
<noscript><p><img alt="Clicky" width="1" height="1" src="http://in.getclicky.com/66374971ns.gif" /></p></noscript>
</body>
</html>