regeneration
This commit is contained in:
parent
460948b378
commit
6555b7d94c
6 changed files with 252 additions and 93 deletions
|
@ -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 (<-↓↑→). 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 (<-↓↑→). 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() {
|
||||
|
|
|
@ -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 (<-↓↑→). 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 (<-↓↑→). 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() {
|
||||
|
|
|
@ -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 (<-↓↑→). 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 (<-↓↑→). 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 (<-↓↑→). 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 (<-↓↑→). 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() {
|
||||
|
|
|
@ -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 (←↓↑→). Hint: <code>j</code> look like a down arrow.</li>
|
||||
<li><code>:help <command></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 (←↓↑→). Hint: <code>j</code> look like a down arrow.</li>
|
||||
<li><code>:help <command></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’ll write <code><C-λ></code>.</p>
|
||||
<p>A last word about notations: </p>
|
||||
|
||||
<ul>
|
||||
<li>instead of writing <code>Ctrl-λ</code>, I’ll write <code><C-λ></code>.</li>
|
||||
<li>command staring by <code>:</code> will must end by <code><enter></code>. For example, when I write <code>:q</code> it means <code>:q<enter></code>.</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="nd-level----feel-comfortable">2<sup>nd</sup> Level – Feel comfortable</h2>
|
||||
|
||||
|
@ -264,11 +269,12 @@ Don’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’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 “extended” word,</li>
|
||||
<li><code>E</code> → go to the end of this “extended” 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><action>a<object></code> or <code><action>i<object></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><action>a<object></code> and <code><action>i<object></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><C-v></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’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’d learn piano and all should be fine.</p>
|
||||
|
||||
|
|
|
@ -122,18 +122,18 @@ Voici les commandes de survie (toutes en mode <em>Normal</em>) :</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</code> quitter)</li>
|
||||
<li><code>dd</code> : Supprimer (et copier) la ligne courante</li>
|
||||
<li><code>p</code> : 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<enter></code> → Sauvegarder et quitter (<code>:w<enter></code> sauvegarde, <code>:q<enter></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 :</p>
|
||||
|
||||
<ul>
|
||||
<li><code>hjkl</code> (optionnel) : se déplacer (←↓↑→). Souvenez vous <code>j</code> ressemble à une flèche vers le bas.</li>
|
||||
<li><code>:help <commande></code> : Affiche l’aide pour <code><commande></code>. Vous pouvez aussi écrire <code>:help</code> pour atterir sur l’aide générale.</li>
|
||||
<li><code>hjkl</code> (optionnel) → se déplacer (←↓↑→). Souvenez vous <code>j</code> ressemble à une flèche vers le bas.</li>
|
||||
<li><code>:help <commande></code> → Affiche l’aide pour <code><commande></code>. Vous pouvez aussi écrire <code>:help</code> pour atterir sur l’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’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 <code>Ctrl</code> enfoncé.</p>
|
||||
|
||||
<p>Notez aussi qu’au lieu d’écrire <code>Ctrl-λ</code>, j’écrirais <code><C-λ></code>.
|
||||
C’est l’usage avec vim.</p>
|
||||
<p>Quelques mots concernant les notations :</p>
|
||||
|
||||
<ul>
|
||||
<li>Au lieu d’écrire <code>Ctrl-λ</code>, j’écrirai <code><C-λ></code>. </li>
|
||||
<li>Les commandes qui commencent par <code>:</code> ont un retour à la ligne implicite à la fin. Par exemple lorsque que j’écris, <code>:q</code> celà signifi qu’il faut taper <code>:</code>, suivi de <code>q</code>, suivi de <code><Return></code>.</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="me-niveau----se-sentir--son-aise">2<sup>ème</sup> Niveau – 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 “jusqu’au prochain espace”, alors il suffit d’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’utiliser les majuscules.</p>
|
||||
|
||||
<ol>
|
||||
<li><code>W</code> → aller au début du mot “étendu” suivant</li>
|
||||
<li><code>E</code> → aller à la fin du mot “étendu” 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’ai retrouvé que dans vim (ou presque).</p>
|
|||
</ul>
|
||||
</blockquote>
|
||||
|
||||
<p><em>Quelques trucs utiles</em></p>
|
||||
<p>Un truc pratique : <code>dt"</code> → supprime tout jusqu’au prochain <code>"</code>.</p>
|
||||
|
||||
<h3 id="selection-de-zone-actionaobject-ou-actioniobject">Selection de zone <code><action>a<object></code> ou <code><action>i<object></code></h3>
|
||||
|
||||
<p>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:</p>
|
||||
|
||||
<p><code><action>a<objet></code> et <code><action>i<objet></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…
|
||||
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’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 : <code><C-V></code>.</h3>
|
||||
|
||||
<p>Les blocs rectangulaires sont très commodes pour commenter plusieurs lignes de codes.
|
||||
|
@ -444,6 +467,11 @@ 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.</p>
|
||||
|
||||
<p>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 : <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’autres choses.
|
||||
Apprenez vim comme vous apprendriez le piano et vous devriez très bien vous en sortir.</p>
|
||||
|
||||
|
|
BIN
output/Scratch/img/blog/Learn-Vim-Progressively/textobjects.png
Normal file
BIN
output/Scratch/img/blog/Learn-Vim-Progressively/textobjects.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
Loading…
Reference in a new issue