regeneration

This commit is contained in:
Yann Esposito (Yogsototh) 2011-08-29 23:13:33 +02:00
parent 460948b378
commit 6555b7d94c
6 changed files with 252 additions and 93 deletions

View file

@ -69,16 +69,16 @@ To get back in _Normal_ mode just tap the `ESC` key.
You know how to switch between _Insert_ and _Normal_ mode.
And now, the list of command you can use in _Normal_ mode to survive:
> - `i`: _Insert_ mode. Type `ESC` to return to Normal mode.
> - `x`: Delete the char under the cursor
> - `:wq`: Save and Quit (`:w` save, `:q` quit)
> - `dd`: Delete (and copy) current line
> - `p`: Paste
> - `i` _Insert_ mode. Type `ESC` to return to Normal mode.
> - `x` Delete the char under the cursor
> - `:wq` Save and Quit (`:w` save, `:q` quit)
> - `dd` Delete (and copy) current line
> - `p` Paste
>
> Recommended:
>
> - `hjkl` (recommended but not mandatory): basic cursor move (<-&darr;&uarr;→). Hint: `j` look like a down arrow.
> - `:help <command>`: Show help about <command>, you can start using `:help` without anything else.
> - `hjkl` (highly recommended but not mandatory) → basic cursor move (<-&darr;&uarr;→). Hint: `j` look like a down arrow.
> - `:help <command>` Show help about <command>, you can start using `:help` without anything else.
Only 5 commands. This is very few to start.
Once these command start to become natural (may be after a complete day), you should go on level 2.
@ -88,7 +88,10 @@ In standard editors, to copy you have to use the `Ctrl` key (`Ctrl-c` generally)
In fact, when you press `Ctrl`, it is a bit like if all your key change meaning.
With vim in Normal mode, it is a bit like if your `Ctrl` key is always pushed down.
A last word about notation: instead of writing `Ctrl-λ`, I'll write `<C-λ>`.
A last word about notations:
- instead of writing `Ctrl-λ`, I'll write `<C-λ>`.
- command staring by `:` will must end by `<enter>`. For example, when I write `:q` it means `:q<enter>`.
## 2nd Level -- Feel comfortable
@ -169,10 +172,11 @@ Don't skip this section.
> 2. `e` → go to the end of this word.
>
> By default, word are composed of letter and the underscore character.
> If you want to use word in the meaning of group of letter separated by spaces, just use uppercases:
> Let's call a WORD a group of letter separated by blank characters.
> If you want to consider WORDS, then just use uppercases:
>
> 1. `W` → go to the start of the following "extended" word,
> 2. `E` → go to the end of this "extended" word.
> 1. `W` → go to the start of the following WORD,
> 2. `E` → go to the end of this WORD.
>
> <%= blogimage("word_moves.jpg","Word moves example") %>
@ -220,10 +224,28 @@ Some of these features were the reason I started to use vim.
> - `F` and `T` → like `f` and `t` but backward.
> <%= blogimage("line_moves.jpg","Line moves") %>
_Some Useful Tips_
A useful tip is: `dt"` → remove everything until the `"`.
> - `dt"` → remove everything until the `"`.
> - `vi"` → select everything inside two `"`.
### Zone selection `<action>a<object>` or `<action>i<object>`
These command can only be used after an operator of in visual mode.
But they are very powerful. Their main pattern is:
`<action>a<object>` and `<action>i<object>`
Where action can be any action, for example, `d` (delete), `y` (yank), `v` (select in visual mode).
And object can be: `w` a word, `W` a WORD (extended word), `s` a sentence, `p` a paragraph. But also, natural character such as `"`, `'`, `)`, `}`, `]`.
Suppose the cursor is on the first `o` of `(map (+) ("foo"))`.
> - `vi"` → will select `foo`.
> - `va"` → will select `"foo"`.
> - `vi)` → will select `"foo"`.
> - `va)` → will select `("foo")`.
> - `v2i)` → will select `map (+) ("foo")`
> - `v2a)` → will select `(map (+) ("foo"))`
<%= blogimage("textobjects.png","Text objects selection") %>
### Select rectangular blocks: `<C-v>`.
@ -306,10 +328,17 @@ That was 90% of commands I use every day.
I suggest you to learn no more than one or two new command per day.
After two to three weeks you'll start to feel the power of vim in your hands.
Learning Vim is more a matter of training than plain memorization.
Fortunately vim comes with some very good tools and an excellent documentation.
Run vimtutor until you are familiar with most basic commands.
Also, you should read carefully this page: `:help usr_02.txt`.
Then, you will learn about `!`, folds, registers, the plugins and many other features.
Learn vim like you'd learn piano and all should be fine.
<script>
// Style the keywords
$(document).ready(function() {

View file

@ -70,16 +70,16 @@ Pour repasser en mode Normal tapez sur la touche `Echap`.
Maintenant que vous savez passer du mode _Normal_ au mode _Insert_.
Voici les commandes de survie (toutes en mode _Normal_) :
> - `i` : Passer en mode insértion. Taper `Echap` pour repasser en mode Normal.
> - `x` : Supprimer le caractère sous le curseur
> - `:wq` : Sauvegarder et quitter (`:w` sauvegarde, `:q` quitter)
> - `dd` : Supprimer (et copier) la ligne courante
> - `p` : Coller
> - `i` Passer en mode insértion. Taper `Echap` pour repasser en mode Normal.
> - `x` Supprimer le caractère sous le curseur
> - `:wq<enter>` → Sauvegarder et quitter (`:w<enter>` sauvegarde, `:q<enter>` quitter)
> - `dd` Supprimer (et copier) la ligne courante
> - `p` Coller
>
> Récommandées :
>
> - `hjkl` (optionnel) : se déplacer (<-&darr;&uarr;→). Souvenez vous `j` ressemble à une flèche vers le bas.
> - `:help <commande>` : Affiche l'aide pour `<commande>`. Vous pouvez aussi écrire `:help` pour atterir sur l'aide générale.
> - `hjkl` (optionnel) se déplacer (<-&darr;&uarr;→). Souvenez vous `j` ressemble à une flèche vers le bas.
> - `:help <commande>` Affiche l'aide pour `<commande>`. Vous pouvez aussi écrire `:help` pour atterir sur l'aide générale.
Seulement 5 commandes.
Voilà, c'est tout pour un début.
@ -92,8 +92,10 @@ Dans un éditeur normal pour copier il faut utiliser une combinaison de touches
En fait, lorsque vous appuyez sur la touche `Ctrl`, c'est un peu comme si toutes les touches du clavier avaient un autre usage.
Dans vim, lorsque vous êtes en mode Normal, c'est comme si vous mainteniez `Ctrl` enfoncé.
Notez aussi qu'au lieu d'écrire `Ctrl-λ`, j'écrirais `<C-λ>`.
C'est l'usage avec vim.
Quelques mots concernant les notations :
- Au lieu d'écrire `Ctrl-λ`, j'écrirai `<C-λ>`.
- Les commandes qui commencent par `:` ont un retour à la ligne implicite à la fin. Par exemple lorsque que j'écris, `:q` celà signifi qu'il faut taper `:`, suivi de `q`, suivi de `<Return>`.
## 2ème Niveau -- Se sentir à son aise
@ -173,10 +175,11 @@ Ne sautez pas cette section.
> 2. `e` → aller à la fin du mot courant
>
> Par défaut les mots sont seulement composés de lettres (et du caractère souligné `_`).
> Si vous voulez considérer les mots au sens "jusqu'au prochain espace", alors il suffit d'utiliser les majuscules.
> 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'utiliser les majuscules.
>
> 1. `W` → aller au début du mot "étendu" suivant
> 2. `E` → aller à la fin du mot "étendu" courant
> 1. `W` → aller au début du MOT suivant
> 2. `E` → aller à la fin du MOT courant
>
> <%= blogimage("word_moves.jpg","Word moves example") %>
@ -227,10 +230,28 @@ Celles que je n'ai retrouvé que dans vim (ou presque).
> - `F` et `T` → comme `f` et `t` mais en arrière.
> <%= blogimage("line_moves.jpg","Line moves") %>
_Quelques trucs utiles_
Un truc pratique : `dt"` → supprime tout jusqu'au prochain `"`.
> - `dt"` → supprime tout jusqu'au `"`.
> - `vi"` → sélectionne tout ce qui se trouve entre les deux `"`.
### Selection de zone `<action>a<object>` ou `<action>i<object>`
Ces commandes sont utilisable seulement en mode visuel ou après un "opérateur".
Mais elles sont très puissantes. Leur forme générale est:
`<action>a<objet>` et `<action>i<objet>`
Où action peut être par exemple `d` (delete), `y` (yank), `v` (select in visual mode), etc...
Un objet peut être: `w` un mot, `W` un MOT (mot étendu), `s` une phrase, `p` un paragraphe. Mais aussi des caractère plus naturels comme `"`, `'`, `)`, `}`, `]`.
Supposons que le curseur soit positionné sur le premier `o` dans `(map (+) ("foo"))`.
> - `vi"` → sélectionnera `foo`.
> - `va"` → sélectionnera `"foo"`.
> - `vi)` → sélectionnera `"foo"`.
> - `va)` → sélectionnera `("foo")`.
> - `v2i)` → sélectionnera `map (+) ("foo")`
> - `v2a)` → sélectionnera `(map (+) ("foo"))`
<%= blogimage("textobjects.png","Text objects selection") %>
### Sélection de blocs rectangulaires : `<C-V>`.
@ -314,10 +335,17 @@ N'essayez pas de toutes les apprendre en une journée.
Il faut le temps de s'habituer à chaque nouvelle commande.
Je vous conseille de ne pas apprendre plus d'une ou deux commandes par jour.
Apprendre Vim est plus une question d'entraînement que de mémorisation.
Heureusement vim est founi avec un très bon tutoriel et une excellente documentation.
Lancez vimtutor jusqu'à ce que vous vous sentiez à l'aise avec les commandes basiques.
De plus, vous devriez aussi lire en détail la page suivate : `:help usr_02.txt`.
Ensuite vous découvrirez `!`, les folds, les registres, les plugins et tout un tas d'autres choses.
Apprenez vim comme vous apprendriez le piano et vous devriez très bien vous en sortir.
<script>
// Style the keywords
$(document).ready(function() {

View file

@ -104,26 +104,26 @@ en: And now, the list of command you can use in _Normal_ mode to survive:
fr: Maintenant que vous savez passer du mode _Normal_ au mode _Insert_.
fr: Voici les commandes de survie (toutes en mode _Normal_) :
en: > - `i`: _Insert_ mode. Type `ESC` to return to Normal mode.
en: > - `x`: Delete the char under the cursor
en: > - `:wq`: Save and Quit (`:w` save, `:q` quit)
en: > - `dd`: Delete (and copy) current line
en: > - `p`: Paste
en: > - `i` _Insert_ mode. Type `ESC` to return to Normal mode.
en: > - `x` Delete the char under the cursor
en: > - `:wq` Save and Quit (`:w` save, `:q` quit)
en: > - `dd` Delete (and copy) current line
en: > - `p` Paste
en: >
en: > Recommended:
en: >
en: > - `hjkl` (recommended but not mandatory): basic cursor move (<-&darr;&uarr;→). Hint: `j` look like a down arrow.
en: > - `:help <command>`: Show help about <command>, you can start using `:help` without anything else.
fr: > - `i` : Passer en mode insértion. Taper `Echap` pour repasser en mode Normal.
fr: > - `x` : Supprimer le caractère sous le curseur
fr: > - `:wq` : Sauvegarder et quitter (`:w` sauvegarde, `:q` quitter)
fr: > - `dd` : Supprimer (et copier) la ligne courante
fr: > - `p` : Coller
en: > - `hjkl` (highly recommended but not mandatory) → basic cursor move (<-&darr;&uarr;→). Hint: `j` look like a down arrow.
en: > - `:help <command>` Show help about <command>, you can start using `:help` without anything else.
fr: > - `i` Passer en mode insértion. Taper `Echap` pour repasser en mode Normal.
fr: > - `x` Supprimer le caractère sous le curseur
fr: > - `:wq<enter>` → Sauvegarder et quitter (`:w<enter>` sauvegarde, `:q<enter>` quitter)
fr: > - `dd` Supprimer (et copier) la ligne courante
fr: > - `p` Coller
fr: >
fr: > Récommandées :
fr: >
fr: > - `hjkl` (optionnel) : se déplacer (<-&darr;&uarr;→). Souvenez vous `j` ressemble à une flèche vers le bas.
fr: > - `:help <commande>` : Affiche l'aide pour `<commande>`. Vous pouvez aussi écrire `:help` pour atterir sur l'aide générale.
fr: > - `hjkl` (optionnel) se déplacer (<-&darr;&uarr;→). Souvenez vous `j` ressemble à une flèche vers le bas.
fr: > - `:help <commande>` Affiche l'aide pour `<commande>`. Vous pouvez aussi écrire `:help` pour atterir sur l'aide générale.
en: Only 5 commands. This is very few to start.
en: Once these command start to become natural (may be after a complete day), you should go on level 2.
@ -142,9 +142,14 @@ fr: Dans un éditeur normal pour copier il faut utiliser une combinaison de touc
fr: En fait, lorsque vous appuyez sur la touche `Ctrl`, c'est un peu comme si toutes les touches du clavier avaient un autre usage.
fr: Dans vim, lorsque vous êtes en mode Normal, c'est comme si vous mainteniez `Ctrl` enfoncé.
en: A last word about notation: instead of writing `Ctrl-λ`, I'll write `<C-λ>`.
fr: Notez aussi qu'au lieu d'écrire `Ctrl-λ`, j'écrirais `<C-λ>`.
fr: C'est l'usage avec vim.
en: A last word about notations:
en:
en: - instead of writing `Ctrl-λ`, I'll write `<C-λ>`.
en: - command staring by `:` will must end by `<enter>`. For example, when I write `:q` it means `:q<enter>`.
fr: Quelques mots concernant les notations :
fr:
fr: - Au lieu d'écrire `Ctrl-λ`, j'écrirai `<C-λ>`.
fr: - Les commandes qui commencent par `:` ont un retour à la ligne implicite à la fin. Par exemple lorsque que j'écris, `:q` celà signifi qu'il faut taper `:`, suivi de `q`, suivi de `<Return>`.
en: ## 2nd Level -- Feel comfortable
fr: ## 2ème Niveau -- Se sentir à son aise
@ -277,10 +282,11 @@ en: > 1. `w` → go to the start of the following word,
en: > 2. `e` → go to the end of this word.
en: >
en: > By default, word are composed of letter and the underscore character.
en: > If you want to use word in the meaning of group of letter separated by spaces, just use uppercases:
en: > Let's call a WORD a group of letter separated by blank characters.
en: > If you want to consider WORDS, then just use uppercases:
en: >
en: > 1. `W` → go to the start of the following "extended" word,
en: > 2. `E` → go to the end of this "extended" word.
en: > 1. `W` → go to the start of the following WORD,
en: > 2. `E` → go to the end of this WORD.
fr: 1. N`G` → Aller à la ligne N
fr: 2. `gg` → raccourci pour `1G`, retourner au début du fichier
fr: 3. `G` → Aller à la dernière ligne.
@ -290,10 +296,11 @@ fr: > 1. `w` → aller au début du mot suivant
fr: > 2. `e` → aller à la fin du mot courant
fr: >
fr: > Par défaut les mots sont seulement composés de lettres (et du caractère souligné `_`).
fr: > Si vous voulez considérer les mots au sens "jusqu'au prochain espace", alors il suffit d'utiliser les majuscules.
fr: > Appelons un MOT un ensemble de lettre séparé par des caractères blancs (espaces, tabulation).
fr: > Si vous voulez considérer des MOTS alors il suffit d'utiliser les majuscules.
fr: >
fr: > 1. `W` → aller au début du mot "étendu" suivant
fr: > 2. `E` → aller à la fin du mot "étendu" courant
fr: > 1. `W` → aller au début du MOT suivant
fr: > 2. `E` → aller à la fin du MOT courant
>
> <%= blogimage("word_moves.jpg","Word moves example") %>
@ -374,14 +381,42 @@ fr: > - `3fa` → recherche la 3ième occurrence de `a`.
fr: > - `F` et `T` → comme `f` et `t` mais en arrière.
> <%= blogimage("line_moves.jpg","Line moves") %>
en: _Some Useful Tips_
en:
en: > - `dt"` → remove everything until the `"`.
en: > - `vi"` → select everything inside two `"`.
fr: _Quelques trucs utiles_
fr:
fr: > - `dt"` → supprime tout jusqu'au `"`.
fr: > - `vi"` → sélectionne tout ce qui se trouve entre les deux `"`.
en: A useful tip is: `dt"` → remove everything until the `"`.
fr: Un truc pratique : `dt"` → supprime tout jusqu'au prochain `"`.
en: ### Zone selection `<action>a<object>` or `<action>i<object>`
fr: ### Selection de zone `<action>a<object>` ou `<action>i<object>`
en: These command can only be used after an operator of in visual mode.
en: But they are very powerful. Their main pattern is:
fr: Ces commandes sont utilisable seulement en mode visuel ou après un "opérateur".
fr: Mais elles sont très puissantes. Leur forme générale est:
en: `<action>a<object>` and `<action>i<object>`
fr: `<action>a<objet>` et `<action>i<objet>`
en: Where action can be any action, for example, `d` (delete), `y` (yank), `v` (select in visual mode).
en: And object can be: `w` a word, `W` a WORD (extended word), `s` a sentence, `p` a paragraph. But also, natural character such as `"`, `'`, `)`, `}`, `]`.
fr: Où action peut être par exemple `d` (delete), `y` (yank), `v` (select in visual mode), etc...
fr: Un objet peut être: `w` un mot, `W` un MOT (mot étendu), `s` une phrase, `p` un paragraphe. Mais aussi des caractère plus naturels comme `"`, `'`, `)`, `}`, `]`.
en: Suppose the cursor is on the first `o` of `(map (+) ("foo"))`.
fr: Supposons que le curseur soit positionné sur le premier `o` dans `(map (+) ("foo"))`.
en: > - `vi"` → will select `foo`.
en: > - `va"` → will select `"foo"`.
en: > - `vi)` → will select `"foo"`.
en: > - `va)` → will select `("foo")`.
en: > - `v2i)` → will select `map (+) ("foo")`
en: > - `v2a)` → will select `(map (+) ("foo"))`
fr: > - `vi"` → sélectionnera `foo`.
fr: > - `va"` → sélectionnera `"foo"`.
fr: > - `vi)` → sélectionnera `"foo"`.
fr: > - `va)` → sélectionnera `("foo")`.
fr: > - `v2i)` → sélectionnera `map (+) ("foo")`
fr: > - `v2a)` → sélectionnera `(map (+) ("foo"))`
<%= blogimage("textobjects.png","Text objects selection") %>
en: ### Select rectangular blocks: `<C-v>`.
fr: ### Sélection de blocs rectangulaires : `<C-V>`.
@ -514,18 +549,28 @@ fr: > - `<C-w>+` (resp. `<C-w>-`) → Agrandi (resp. diminue) le split
en: That was 90% of commands I use every day.
en: I suggest you to learn no more than one or two new command per day.
en: After two to three weeks you'll start to feel the power of vim in your hands.
en:
en: Then, you will learn about `!`, folds, registers, the plugins and many other features.
en: Learn vim like you'd learn piano and all should be fine.
fr: Voilà, je vous ai donné 90% des commandes que j'utilise tous les jours.
fr: N'essayez pas de toutes les apprendre en une journée.
fr: Il faut le temps de s'habituer à chaque nouvelle commande.
fr: Je vous conseille de ne pas apprendre plus d'une ou deux commandes par jour.
fr:
en: Learning Vim is more a matter of training than plain memorization.
en: Fortunately vim comes with some very good tools and an excellent documentation.
en: Run vimtutor until you are familiar with most basic commands.
en: Also, you should read carefully this page: `:help usr_02.txt`.
fr: Apprendre Vim est plus une question d'entraînement que de mémorisation.
fr: Heureusement vim est founi avec un très bon tutoriel et une excellente documentation.
fr: Lancez vimtutor jusqu'à ce que vous vous sentiez à l'aise avec les commandes basiques.
fr: De plus, vous devriez aussi lire en détail la page suivate : `:help usr_02.txt`.
en: Then, you will learn about `!`, folds, registers, the plugins and many other features.
en: Learn vim like you'd learn piano and all should be fine.
fr: Ensuite vous découvrirez `!`, les folds, les registres, les plugins et tout un tas d'autres choses.
fr: Apprenez vim comme vous apprendriez le piano et vous devriez très bien vous en sortir.
<script>
// Style the keywords
$(document).ready(function() {

View file

@ -121,18 +121,18 @@ And now, the list of command you can use in <em>Normal</em> mode to survive:</p>
<blockquote>
<ul>
<li><code>i</code>: <em>Insert</em> mode. Type <code>ESC</code> to return to Normal mode.</li>
<li><code>x</code>: Delete the char under the cursor</li>
<li><code>:wq</code>: Save and Quit (<code>:w</code> save, <code>:q</code> quit)</li>
<li><code>dd</code>: Delete (and copy) current line</li>
<li><code>p</code>: Paste</li>
<li><code>i</code> <em>Insert</em> mode. Type <code>ESC</code> to return to Normal mode.</li>
<li><code>x</code> Delete the char under the cursor</li>
<li><code>:wq</code> Save and Quit (<code>:w</code> save, <code>:q</code> quit)</li>
<li><code>dd</code> Delete (and copy) current line</li>
<li><code>p</code> Paste</li>
</ul>
<p>Recommended:</p>
<ul>
<li><code>hjkl</code> (recommended but not mandatory): basic cursor move (&larr;&darr;&uarr;→). Hint: <code>j</code> look like a down arrow.</li>
<li><code>:help &lt;command&gt;</code>: Show help about <command />, you can start using <code>:help</code> without anything else.</li>
<li><code>hjkl</code> (highly recommended but not mandatory) → basic cursor move (&larr;&darr;&uarr;→). Hint: <code>j</code> look like a down arrow.</li>
<li><code>:help &lt;command&gt;</code> Show help about <command />, you can start using <code>:help</code> without anything else.</li>
</ul>
</blockquote>
@ -144,7 +144,12 @@ In standard editors, to copy you have to use the <code>Ctrl</code> key (<code>Ct
In fact, when you press <code>Ctrl</code>, it is a bit like if all your key change meaning.
With vim in Normal mode, it is a bit like if your <code>Ctrl</code> key is always pushed down.</p>
<p>A last word about notation: instead of writing <code>Ctrl-λ</code>, I&rsquo;ll write <code>&lt;C-λ&gt;</code>.</p>
<p>A last word about notations: </p>
<ul>
<li>instead of writing <code>Ctrl-λ</code>, I&rsquo;ll write <code>&lt;C-λ&gt;</code>.</li>
<li>command staring by <code>:</code> will must end by <code>&lt;enter&gt;</code>. For example, when I write <code>:q</code> it means <code>:q&lt;enter&gt;</code>.</li>
</ul>
<h2 id="nd-level----feel-comfortable">2<sup>nd</sup> Level &ndash; Feel comfortable</h2>
@ -264,11 +269,12 @@ Don&rsquo;t skip this section.</p>
</ol>
<p>By default, word are composed of letter and the underscore character.
If you want to use word in the meaning of group of letter separated by spaces, just use uppercases:</p>
Let&rsquo;s call a WORD a group of letter separated by blank characters.
If you want to consider WORDS, then just use uppercases:</p>
<ol>
<li><code>W</code> → go to the start of the following &ldquo;extended&rdquo; word,</li>
<li><code>E</code> → go to the end of this &ldquo;extended&rdquo; word.</li>
<li><code>W</code> → go to the start of the following WORD,</li>
<li><code>E</code> → go to the end of this WORD.</li>
</ol>
<p><img alt="Word moves example" src="/Scratch/img/blog/Learn-Vim-Progressively/word_moves.jpg" /></p>
@ -330,15 +336,33 @@ Some of these features were the reason I started to use vim.</p>
</ul>
</blockquote>
<p><em>Some Useful Tips</em></p>
<p>A useful tip is: <code>dt"</code> → remove everything until the <code>"</code>.</p>
<h3 id="zone-selection-actionaobject-or-actioniobject">Zone selection <code>&lt;action&gt;a&lt;object&gt;</code> or <code>&lt;action&gt;i&lt;object&gt;</code></h3>
<p>These command can only be used after an operator of in visual mode.
But they are very powerful. Their main pattern is:</p>
<p><code>&lt;action&gt;a&lt;object&gt;</code> and <code>&lt;action&gt;i&lt;object&gt;</code></p>
<p>Where action can be any action, for example, <code>d</code> (delete), <code>y</code> (yank), <code>v</code> (select in visual mode).
And object can be: <code>w</code> a word, <code>W</code> a WORD (extended word), <code>s</code> a sentence, <code>p</code> a paragraph. But also, natural character such as <code>"</code>, <code>'</code>, <code>)</code>, <code>}</code>, <code>]</code>.</p>
<p>Suppose the cursor is on the first <code>o</code> of <code>(map (+) ("foo"))</code>.</p>
<blockquote>
<ul>
<li><code>dt"</code> → remove everything until the <code>"</code>.</li>
<li><code>vi"</code> → select everything inside two <code>"</code>.</li>
<li><code>vi"</code> → will select <code>foo</code>.</li>
<li><code>va"</code> → will select <code>"foo"</code>.</li>
<li><code>vi)</code> → will select <code>"foo"</code>.</li>
<li><code>va)</code> → will select <code>("foo")</code>.</li>
<li><code>v2i)</code> → will select <code>map (+) ("foo")</code></li>
<li><code>v2a)</code> → will select <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="select-rectangular-blocks-c-v">Select rectangular blocks: <code>&lt;C-v&gt;</code>.</h3>
<p>Rectangular blocks are very useful to comment many lines of code.
@ -436,6 +460,11 @@ Once the selection made, you can:</p>
I suggest you to learn no more than one or two new command per day.
After two to three weeks you&rsquo;ll start to feel the power of vim in your hands.</p>
<p>Learning Vim is more a matter of training than plain memorization.
Fortunately vim comes with some very good tools and an excellent documentation.
Run vimtutor until you are familiar with most basic commands.
Also, you should read carefully this page: <code>:help usr_02.txt</code>.</p>
<p>Then, you will learn about <code>!</code>, folds, registers, the plugins and many other features.
Learn vim like you&rsquo;d learn piano and all should be fine.</p>

View file

@ -122,18 +122,18 @@ Voici les commandes de survie (toutes en mode <em>Normal</em>)&nbsp;:</p>
<blockquote>
<ul>
<li><code>i</code>&nbsp;: Passer en mode insértion. Taper <code>Echap</code> pour repasser en mode Normal.</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>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&lt;enter&gt;</code> Sauvegarder et quitter (<code>:w&lt;enter&gt;</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)&nbsp;: 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>&nbsp;: 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>
<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>
@ -148,8 +148,12 @@ Dans un éditeur normal pour copier il faut utiliser une combinaison de touches
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>Notez aussi qu&rsquo;au lieu d&rsquo;écrire <code>Ctrl-λ</code>, j&rsquo;écrirais <code>&lt;C-λ&gt;</code>.
C&rsquo;est l&rsquo;usage avec vim.</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>
@ -268,11 +272,12 @@ Ne sautez pas cette section.</p>
</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>
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 &ldquo;étendu&rdquo; suivant</li>
<li><code>E</code> → aller à la fin du mot &ldquo;étendu&rdquo; courant</li>
<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>
@ -337,15 +342,33 @@ Celles que je n&rsquo;ai retrouvé que dans vim (ou presque).</p>
</ul>
</blockquote>
<p><em>Quelques trucs utiles</em></p>
<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>dt"</code> → supprime tout jusqu&rsquo;au <code>"</code>.</li>
<li><code>vi"</code> → sélectionne tout ce qui se trouve entre les deux <code>"</code>.</li>
<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.
@ -444,6 +467,11 @@ 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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB