Finished, mode review now

This commit is contained in:
Yann Esposito (Yogsototh) 2011-08-24 16:35:12 +02:00
parent e7b2f20262
commit 984d8c5692
6 changed files with 566 additions and 250 deletions

View file

@ -74,83 +74,133 @@ I suggest:
1. Insertion mode variations:
> - `a`: insert _after_ the cursor
> - `o`: insert a new line after the current one
> - `O`: insert a new line before the current one
> - `cw`: replace the word under the cursor
> - `a` -> insert _after_ the cursor
> - `o` -> insert a new line after the current one
> - `O` -> insert a new line before the current one
> - `cw` -> replace the word under the cursor
2. Basic moves
> - `0` : go to first column
> - `^` : go to first character of the line
> - `$` : go to the end of line
> - `/pattern` : search for `pattern`
> - `0` -> go to first column
> - `^` -> go to first character of the line
> - `$` -> go to the end of line
> - `/pattern` -> search for `pattern`
3. Copy/Paste
> - `P`: copy before, remember `p` is copy after current position.
> - `yy`: copy current line, easier but equivalent to `ddP`
> - `P` -> copy before, remember `p` is copy after current position.
> - `yy` -> copy current line, easier but equivalent to `ddP`
## Level 3 - Better. Stronger. Faster.
À partir de maintenant nous allons commencer à faire des choses difficile à faire dans les autres éditeurs.
N'oubliez pas qu'à la fin de cet article vous n'aurez touché du doigt que la partie émerger du continent iceberg qu'est vim.
Pour l'instant la seule commande qui vous donne un avant goût de ce qu'est la puissance de vim était `cw`. Qui permet de remplacer un mot.
Nous allons maintenant nous intéresser à des commandes qui vont vous donner plus de pouvoir et d'efficacité.
Pour cette section, je vais seulement parler de choses qui était aussi disponible dans `vi`. Vim peut faire beaucoup d'autres choses.
Congratulation! If you managed to go until here, we can start the interresting stuff.
At level 3, we'll only talk about command which are compatible in the old `vi`.
Commençons par le premier super pouvoir de `vi`, éviter les répétitions (niveau 1):
Lets start by the first `vi` super-power. Limit to repeat yourself (basic):
1. `.` : Le caractère point répètera la dernière commande.
2. N<commande> : répètera la commande N fois.
1. `.` -> (dot) will repeat the last command,
2. N&lt;command&gt; -> will do the command N times.
Quelques examples, ouvrez un fichier avec vim et tapez:
Some examples, open a file and type:
> - `2dd` -> Supprimera 2 lignes
> - `3p` -> copiera 3 fois d'affiler le texte copié
> - `100idesu [ESC]` -> écrira "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 "
> - `.` -> Juste après la dernière commande réécrira les 100 "desu ".
> - `3.` -> Écrira 3 "desu".
> - `2dd` -> will delete 2 lines
> - `3p` -> will paste the text 3 times
> - `100idesu [ESC]` -> will write "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 "
> - `.` -> Just after the last command will write again the 100 "desu ".
> - `3.` -> Will write 3 "desu" (and not 300, how clever).
Second super pouvoir de vim, les déplacements (niveau 1):
Savoir se déplacer efficacement avec vim est _très_ important, ne sautez pas cette section.
Second vi super power, moving (basic):
Knowing how to move efficiently with vim is _very_ important. Do not jump this section.
1. N`G` -> Aller à la ligne N
2. `gg` -> raccourci pour `1G`, retourner au début du fichier
3. `G` -> Aller à la dernière ligne.
4. Déplacement autour des mots:
1. N`G` -> Go to line N
2. `gg` -> shortcut for `1G`, go to the start of the file
3. `G` -> Go to last line
4. Word moves:
> 1. `w` -> aller au début du mot suivant
> 2. `e` -> aller à la fin du mot courant
> 1. `w` -> go to the start of the following word,
> 2. `e` -> go to the end of this word.
>
> 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.
> 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:
>
> 1. `W` -> aller au début du mot "étendu" suivant
> 2. `E` -> aller à la fin du mot "étendu" courant
> 1. `W` -> go to the start of the following "extended" word,
> 2. `E` -> go to the end of this "extended" word.
Maintenant passons aux déplacement qui vont vous faire sentir vraiment meilleur :
Now lets talk about very efficient moves:
> - `%` : Aller à la parenthèse, accolade, crochet correspondante.
> - `*` (resp. `#`) : Aller à la prochaine (resp. précédente) occurrence du mot sous le curseur
> - `%` : Go to corresponding `(`, `{`, `[`.
> - `*` (resp. `#`) : go to next (resp. previous) occurrence of the word under the cursor
Croyez moi, ces trois dernières commandes valent de l'or.
Retenez les, et vous gagnerez beaucoup de temps.
Believe me, these last three command are gold.
## Niveau 3 - Intermédiaire
## Level 4 - Power Overwhelming
À partir de maintenant, je vais vous donner les commandes que j'utilise le plus souvent et qui vont vous faire gagner beaucoup de temps.
With all preceding commands you should be comfortable to use vim.
But now, here are the killer features.
Some of these features were the reason I started to use vim.
`S-V` : Sélectionner des lignes
-> d les supprimer + copier
->
Move on current line, any of: `0^$fFtT,;`
`C-t` : Ajoute une tabulation
`C-d` : Supprime une tabulation
> - `0` -> go to column 0
> - `^` -> go to first character on the line
> - `$` -> go to the last character on the line
> - `fa` -> go to next occurrence of the letter `a` on the line. `,` will seek next occurrence.
> - `t,` -> go just after the character `,`.
> - `3fa` -> recherche la 3rd occurrence de `a`.
> - `F` and `T` -> like `f` and `t` but backward.
`C-v I` : Ajoute du texte à toutes les lignes sélectionnées
`C-v c` : Remplace le bloc et répètera le contenu sur toutes les lignes.
Select rectangular blocs: `C-V`.
`*` : Chercher la prochaine occurence du mot sous le curseur
`#` : comme `*` mais dans le sens contraire
Rectangular blocks are very useful to comment many lines of code.
Typically: `0C-VC-dI// [ESC]`
- `^` -> go to start of the line
- `C-V` -> Start block selection
- `C-d` -> move down (could also be `jjj` or `%`, etc...)
- `I// [ESC]` -> write `// ` to comment each line
Completion: `C-n` and `C-p`.
In insertion mode, just type the start of a word, then type `C-p`, magic...
Macros : `qa` do something `qq`, then `@a` (also `@@`, repeat the last `@x`).
`qa` record your actions in the _register_ `a`. Then `@a` will replay the macro saved into the register `a` as if you typed it.
> Example:
> On a line containing only a number type this:
> `qaYpC-aqq` -> `qa` start recording. `Yp` duplicate this line. `C-a` increment the number. `qq` stop recording.
>
> Now a `10@a` will create a list of increasing numbers.
But also,
Visual selection
We saw an example with `C-V`.
There is also `v` and `V`.
Once the selection made, you can:
- `=` -> auto indent
- `<` (resp. `>`) -> indent to the left (resp. to the right).
- `J` -> join all lines together.
Add something at the end of all visually selected lignes:
- `S-V`
- go to desired line (`jjj` or `C-d` or `/pattern` or `%` etc...)
- `$` go to the end of line
- `A`, write texte, `ESC`.
Splits : `:split` and `vsplit`. You should look at `:help split`
## Conclusion
Voilà, je vous ai donné 90% des commandes que j'utilise tous les jours.
N'essayez pas de tout apprendre en une journée.
Il faut le temps de s'habituer à chaque nouvelle commande.
Ajouter une ou deux commande par jour tous les jours est un bon exercice.
Dans 1 mois vous en connaitrez au moins autant que moi.
And keep in mind I am not a vim master, just a regular user.

View file

@ -73,45 +73,42 @@ Vous connaissez les commandes de survie. Passons à des commandes pour être un
1. Les variantes de l'insertion
> - `a` : comme `i`, mais après la position du curseur.
> - `o` : comme `i`, mais à la ligne suivante
> - `O` : comme `o` mais ajoute la ligne avant.
> - `cw` : remplacer le mot sous le curseur.
> - `a` -> comme `i`, mais après la position du curseur.
> - `o` -> comme `i`, mais à la ligne suivante
> - `O` -> comme `o` mais ajoute la ligne avant.
> - `cw` -> remplacer le mot sous le curseur.
2. Déplacements basiques
> - `0` : aller à la première colonne
> - `^` : aller au premier caratère de la ligne
> - `$` : aller à la fin de la ligne
> - `/pattern` : rechercher `pattern` dans le fichier.
> - `0` -> aller à la première colonne
> - `^` -> aller au premier caratère de la ligne
> - `$` -> aller à la fin de la ligne
> - `/pattern` -> rechercher `pattern` dans le fichier.
3. Copier/Coller
> - `P` : Coller avant, souvenez-vous que `p` collait après la position du curseur.
> - `yy` : copier la ligne courante. C'est plus simple et équivalent à `ddP`
> - `P` -> Coller avant, souvenez-vous que `p` collait après la position du curseur.
> - `yy` -> copier la ligne courante. C'est plus simple et équivalent à `ddP`
## Niveau 3 - Meilleur. Plus fort. Plus rapide.
À partir de maintenant nous allons commencer à faire des choses difficile à faire dans les autres éditeurs.
N'oubliez pas qu'à la fin de cet article vous n'aurez touché du doigt que la partie émerger du continent iceberg qu'est vim.
Pour l'instant la seule commande qui vous donne un avant goût de ce qu'est la puissance de vim était `cw`. Qui permet de remplacer un mot.
Nous allons maintenant nous intéresser à des commandes qui vont vous donner plus de pouvoir et d'efficacité.
Pour cette section, je vais seulement parler de choses qui était aussi disponible dans `vi`. Vim peut faire beaucoup d'autres choses.
Bravo ! Si vous êtes arrivé jusqu'ici nous allons pouvoir commencer à apprendre les choses vraiment intéressantes.
Pour cette section, je vais seulement parler de choses qui sont aussi disponible dans le vieux `vi`.
Commençons par le premier super pouvoir de `vi`, éviter les répétitions (niveau 1):
1. `.` : Le caractère point répètera la dernière commande.
2. N<commande> : répètera la commande N fois.
1. `.` -> Le caractère point répètera la dernière commande.
2. N&lt;commande&gt; -> répètera la commande N fois.
Quelques examples, ouvrez un fichier avec vim et tapez:
Quelques exemples, ouvrez un fichier avec vim et tapez :
> - `2dd` -> Supprimera 2 lignes
> - `3p` -> copiera 3 fois d'affiler le texte copié
> - `100idesu [ESC]` -> écrira "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 "
> - `.` -> Juste après la dernière commande réécrira les 100 "desu ".
> - `3.` -> Écrira 3 "desu".
> - `3.` -> Écrira 3 "desu" et non pas 300.
Second super pouvoir de vim, les déplacements (niveau 1):
Second super pouvoir de vim, les déplacements (niveau 1) :
Savoir se déplacer efficacement avec vim est _très_ important, ne sautez pas cette section.
1. N`G` -> Aller à la ligne N
@ -136,20 +133,68 @@ Maintenant passons aux déplacement qui vont vous faire sentir vraiment meilleur
Croyez moi, ces trois dernières commandes valent de l'or.
Retenez les, et vous gagnerez beaucoup de temps.
## Niveau 3 - Intermédiaire
## Niveau 4 - Power Overwhelming
À partir de maintenant, je vais vous donner les commandes que j'utilise le plus souvent et qui vont vous faire gagner beaucoup de temps.
Avec toutes les commandes précédentes vous avez presque toutes les commandes que j'utilise tous les jours.
Mais voici les killer features de vim.
Celles que je n'ai retrouvé que dans vim (ou presque).
`S-V` : Sélectionner des lignes
-> d les supprimer + copier
->
Déplacement sur la ligne : `0^$fFtT,;`
`C-t` : Ajoute une tabulation
`C-d` : Supprime une tabulation
> - `0` -> aller à la colonne 0,
> - `^` -> aller au premier caractère de la ligne
> - `$` -> aller au dernier caractère de la ligne
> - `fa` -> vous amène à la prochaine occurrence de a sur la ligne courante. `,` recherche l'occurrence suivante.
> - `t,` -> vous amène juste après le `,`.
> - `3fa` -> recherche la 3ième occurrence de `a`.
> - `F` et `T` -> comme `f` et `t` mais en arrière.
`C-v I` : Ajoute du texte à toutes les lignes sélectionnées
`C-v c` : Remplace le bloc et répètera le contenu sur toutes les lignes.
Sélection de blocs rectangulaires : `C-V`.
Les blocs rectangulaires sont très commodes pour commenter plusieurs lignes de codes.
Typiquement: `^C-VC-dI// [ESC]`
- `^` -> aller en début de ligne
- `C-V` -> Commencer la sélection du bloc
- `C-d` -> se déplacer vers le bas (pourrait être `jjj` ou `%` etc...)
- `I// [ESC]` -> écrit `// ` pour commenter le reste de la ligne.
Complétion : `C-n` et `C-p`.
En mode insertion, commencez à écrire le début d'un mot déjà présent dans l'un des buffers (fichers) ouvert et tapes `C-p`. Magique.
Macros : `qa` faire quelque chose `qq`. `@a`, puis `@@`.
`qa` enregistre tout ce que vous faite et enregistre le tout dans le _registre_ `a`. Ensuite `@a` va rejouer la macro enregistrée dans le registre `a` comme si c'est vous qui tapiez au clavier.
> Exemple :
> Sur une ligne contenant seulement un nombre tapez :
> `qaYpC-aqq` -> `qa` début de l'enregistrement. `Yp` copier cette ligne. `C-a` incrémente le nombre. `qq` arrête d'enregistrer.
>
> Maintenant essayez `10@a`. Cela va créer une liste de nombre croissants.
Mais aussi,
Sélection visuelle.
On a déjà vu un exemple avec `C-V`.
Mais il y a aussi, `v` et `V`.
Et une fois la sélection visuelle faite vous pouvez par exemple:
- `=` -> auto indenter
- `<` (resp. `>`) -> indenter à gauche (resp. à droite).
- `J` -> joindre toutes les lignes pour en faire une seule
Ajouter quelque chose à la fin de toutes les lignes sélectionnées visuellement :
- `S-V`
- aller jusqu'à la ligne désirée (`jjj` ou `C-d` ou `/pattern` ou `%` etc...)
- `$` aller à la fin
- `A`, écrire le texte, `Echap`.
Splits : `:split` et `vsplit`. Pour en savoir plus faite un `:help split`
## Conclusion
`*` : Chercher la prochaine occurence du mot sous le curseur
`#` : comme `*` mais dans le sens contraire

View file

@ -112,121 +112,226 @@ fr: Vous connaissez les commandes de survie. Passons à des commandes pour être
en: 1. Insertion mode variations:
en:
en: > - `a`: insert _after_ the cursor
en: > - `o`: insert a new line after the current one
en: > - `O`: insert a new line before the current one
en: > - `cw`: replace the word under the cursor
en: > - `a` -> insert _after_ the cursor
en: > - `o` -> insert a new line after the current one
en: > - `O` -> insert a new line before the current one
en: > - `cw` -> replace the word under the cursor
fr: 1. Les variantes de l'insertion
fr:
fr: > - `a` : comme `i`, mais après la position du curseur.
fr: > - `o` : comme `i`, mais à la ligne suivante
fr: > - `O` : comme `o` mais ajoute la ligne avant.
fr: > - `cw` : remplacer le mot sous le curseur.
fr: > - `a` -> comme `i`, mais après la position du curseur.
fr: > - `o` -> comme `i`, mais à la ligne suivante
fr: > - `O` -> comme `o` mais ajoute la ligne avant.
fr: > - `cw` -> remplacer le mot sous le curseur.
en: 2. Basic moves
en:
en: > - `0` : go to first column
en: > - `^` : go to first character of the line
en: > - `$` : go to the end of line
en: > - `/pattern` : search for `pattern`
en: > - `0` -> go to first column
en: > - `^` -> go to first character of the line
en: > - `$` -> go to the end of line
en: > - `/pattern` -> search for `pattern`
fr: 2. Déplacements basiques
fr:
fr: > - `0` : aller à la première colonne
fr: > - `^` : aller au premier caratère de la ligne
fr: > - `$` : aller à la fin de la ligne
fr: > - `/pattern` : rechercher `pattern` dans le fichier.
fr: > - `0` -> aller à la première colonne
fr: > - `^` -> aller au premier caratère de la ligne
fr: > - `$` -> aller à la fin de la ligne
fr: > - `/pattern` -> rechercher `pattern` dans le fichier.
en: 3. Copy/Paste
en:
en: > - `P`: copy before, remember `p` is copy after current position.
en: > - `yy`: copy current line, easier but equivalent to `ddP`
en: > - `P` -> copy before, remember `p` is copy after current position.
en: > - `yy` -> copy current line, easier but equivalent to `ddP`
fr: 3. Copier/Coller
fr:
fr: > - `P` : Coller avant, souvenez-vous que `p` collait après la position du curseur.
fr: > - `yy` : copier la ligne courante. C'est plus simple et équivalent à `ddP`
fr: > - `P` -> Coller avant, souvenez-vous que `p` collait après la position du curseur.
fr: > - `yy` -> copier la ligne courante. C'est plus simple et équivalent à `ddP`
en: ## Level 3 - Better. Stronger. Faster.
fr: ## Niveau 3 - Meilleur. Plus fort. Plus rapide.
À partir de maintenant nous allons commencer à faire des choses difficile à faire dans les autres éditeurs.
N'oubliez pas qu'à la fin de cet article vous n'aurez touché du doigt que la partie émerger du continent iceberg qu'est vim.
Pour l'instant la seule commande qui vous donne un avant goût de ce qu'est la puissance de vim était `cw`. Qui permet de remplacer un mot.
Nous allons maintenant nous intéresser à des commandes qui vont vous donner plus de pouvoir et d'efficacité.
Pour cette section, je vais seulement parler de choses qui était aussi disponible dans `vi`. Vim peut faire beaucoup d'autres choses.
en: Congratulation! If you managed to go until here, we can start the interresting stuff.
en: At level 3, we'll only talk about command which are compatible in the old `vi`.
fr: Bravo ! Si vous êtes arrivé jusqu'ici nous allons pouvoir commencer à apprendre les choses vraiment intéressantes.
fr: Pour cette section, je vais seulement parler de choses qui sont aussi disponible dans le vieux `vi`.
Commençons par le premier super pouvoir de `vi`, éviter les répétitions (niveau 1):
en: Lets start by the first `vi` super-power. Limit to repeat yourself (basic):
fr: Commençons par le premier super pouvoir de `vi`, éviter les répétitions (niveau 1):
1. `.` : Le caractère point répètera la dernière commande.
2. N<commande> : répètera la commande N fois.
en: 1. `.` -> (dot) will repeat the last command,
en: 2. N&lt;command&gt; -> will do the command N times.
fr: 1. `.` -> Le caractère point répètera la dernière commande.
fr: 2. N&lt;commande&gt; -> répètera la commande N fois.
Quelques examples, ouvrez un fichier avec vim et tapez:
en: Some examples, open a file and type:
fr: Quelques exemples, ouvrez un fichier avec vim et tapez :
> - `2dd` -> Supprimera 2 lignes
> - `3p` -> copiera 3 fois d'affiler le texte copié
> - `100idesu [ESC]` -> écrira "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 "
> - `.` -> Juste après la dernière commande réécrira les 100 "desu ".
> - `3.` -> Écrira 3 "desu" et non pas 300.
en: > - `2dd` -> will delete 2 lines
en: > - `3p` -> will paste the text 3 times
en: > - `100idesu [ESC]` -> will write "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 "
en: > - `.` -> Just after the last command will write again the 100 "desu ".
en: > - `3.` -> Will write 3 "desu" (and not 300, how clever).
fr: > - `2dd` -> Supprimera 2 lignes
fr: > - `3p` -> copiera 3 fois d'affiler le texte copié
fr: > - `100idesu [ESC]` -> écrira "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 "
fr: > - `.` -> Juste après la dernière commande réécrira les 100 "desu ".
fr: > - `3.` -> Écrira 3 "desu" et non pas 300.
Second super pouvoir de vim, les déplacements (niveau 1):
Savoir se déplacer efficacement avec vim est _très_ important, ne sautez pas cette section.
en: Second vi super power, moving (basic):
en: Knowing how to move efficiently with vim is _very_ important. Do not jump this section.
fr: Second super pouvoir de vim, les déplacements (niveau 1) :
fr: Savoir se déplacer efficacement avec vim est _très_ important, ne sautez pas cette section.
1. N`G` -> Aller à la ligne N
2. `gg` -> raccourci pour `1G`, retourner au début du fichier
3. `G` -> Aller à la dernière ligne.
4. Déplacement autour des mots:
en: 1. N`G` -> Go to line N
en: 2. `gg` -> shortcut for `1G`, go to the start of the file
en: 3. `G` -> Go to last line
en: 4. Word moves:
en:
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: >
en: > 1. `W` -> go to the start of the following "extended" word,
en: > 2. `E` -> go to the end of this "extended" 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.
fr: 4. Déplacement autour des mots:
fr:
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: >
fr: > 1. `W` -> aller au début du mot "étendu" suivant
fr: > 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
>
> 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.
>
> 1. `W` -> aller au début du mot "étendu" suivant
> 2. `E` -> aller à la fin du mot "étendu" courant
en: Now lets talk about very efficient moves:
fr: Maintenant passons aux déplacement qui vont vous faire sentir vraiment meilleur :
Maintenant passons aux déplacement qui vont vous faire sentir vraiment meilleur :
en: > - `%` : Go to corresponding `(`, `{`, `[`.
en: > - `*` (resp. `#`) : go to next (resp. previous) occurrence of the word under the cursor
fr: > - `%` : Aller à la parenthèse, accolade, crochet correspondante.
fr: > - `*` (resp. `#`) : Aller à la prochaine (resp. précédente) occurrence du mot sous le curseur
> - `%` : Aller à la parenthèse, accolade, crochet correspondante.
> - `*` (resp. `#`) : Aller à la prochaine (resp. précédente) occurrence du mot sous le curseur
fr: Croyez moi, ces trois dernières commandes valent de l'or.
fr: Retenez les, et vous gagnerez beaucoup de temps.
en: Believe me, these last three command are gold.
Croyez moi, ces trois dernières commandes valent de l'or.
Retenez les, et vous gagnerez beaucoup de temps.
en: ## Level 4 - Power Overwhelming
fr: ## Niveau 4 - Power Overwhelming
## Level 4 - Power Overwhelming
## Niveau 4 - Power Overwhelming
fr: Avec toutes les commandes précédentes vous avez presque toutes les commandes que j'utilise tous les jours.
fr: Mais voici les killer features de vim.
fr: Celles que je n'ai retrouvé que dans vim (ou presque).
en: With all preceding commands you should be comfortable to use vim.
en: But now, here are the killer features.
en: Some of these features were the reason I started to use vim.
Avec toutes les commandes précédentes vous avez presque toutes les commandes que j'utilise tous les jours. Mais voici les killer features de vim. Celles que je n'ai retrouvé que dans vim (ou presque).
en: Move on current line, any of: `0^$fFtT,;`
fr: Déplacement sur la ligne : `0^$fFtT,;`
Sélection de blocs rectangulaires : `C-V`.
Déplacement sur la ligne : `fFtT,;`
en: > - `0` -> go to column 0
en: > - `^` -> go to first character on the line
en: > - `$` -> go to the last character on the line
en: > - `fa` -> go to next occurrence of the letter `a` on the line. `,` will seek next occurrence.
en: > - `t,` -> go just after the character `,`.
en: > - `3fa` -> recherche la 3rd occurrence de `a`.
en: > - `F` and `T` -> like `f` and `t` but backward.
fr: > - `0` -> aller à la colonne 0,
fr: > - `^` -> aller au premier caractère de la ligne
fr: > - `$` -> aller au dernier caractère de la ligne
fr: > - `fa` -> vous amène à la prochaine occurrence de a sur la ligne courante. `,` recherche l'occurrence suivante.
fr: > - `t,` -> vous amène juste après le `,`.
fr: > - `3fa` -> recherche la 3ième occurrence de `a`.
fr: > - `F` et `T` -> comme `f` et `t` mais en arrière.
> - `fa`: vous amène à la prochaine occurence de a sur la ligne courante. `,` recherche l'occurence suivante.
> - `t,`: vous amène juste après le `,`.
> - `3fa`: recherche la 3ième occurence de `a`.
> - `F` et `T`, comme `f` et `t` mais en arrière.
en: Select rectangular blocs: `C-V`.
fr: Sélection de blocs rectangulaires : `C-V`.
Splits : `:split` et `vsplit`. Pour en savoir plus faite un `:help split`
Macros : `qa` faire quelque chose `qq`. `@a`, puis `@@`.
en: Rectangular blocks are very useful to comment many lines of code.
en: Typically: `0C-VC-dI// [ESC]`
en:
en: - `^` -> go to start of the line
en: - `C-V` -> Start block selection
en: - `C-d` -> move down (could also be `jjj` or `%`, etc...)
en: - `I// [ESC]` -> write `// ` to comment each line
`qa` enregistre tout ce que vous faite et enregistre le tout dans le _registre_ `a`. Ensuite `@a` va rejouer la macro dans `a` comme si c'est vous qui tapiez au clavier.
fr: Les blocs rectangulaires sont très commodes pour commenter plusieurs lignes de codes.
fr: Typiquement: `^C-VC-dI// [ESC]`
fr:
fr: - `^` -> aller en début de ligne
fr: - `C-V` -> Commencer la sélection du bloc
fr: - `C-d` -> se déplacer vers le bas (pourrait être `jjj` ou `%` etc...)
fr: - `I// [ESC]` -> écrit `// ` pour commenter le reste de la ligne.
> Exemple:
> On a line with a number type this.
> `qaYpC-aqq` -> `qa` start recording. `Yp` duplicate this line. `C-a` increment the number. `qq` stop recording.
>
> Now a `10@a` will create a list of increasing numbers.
en: Completion: `C-n` and `C-p`.
fr: Complétion : `C-n` et `C-p`.
Ajouter quelque chose à la fin de toutes les lignes sélectionnées visuellement : `S-V` aller jusqu'à la ligne désirée (`jjj` ou `/pattern` ou `%` etc...) `$` aller à la fin puis `A`, écrire le texte.
en: In insertion mode, just type the start of a word, then type `C-p`, magic...
fr: En mode insertion, commencez à écrire le début d'un mot déjà présent dans l'un des buffers (fichers) ouvert et tapes `C-p`. Magique.
en: Macros : `qa` do something `qq`, then `@a` (also `@@`, repeat the last `@x`).
fr: Macros : `qa` faire quelque chose `qq`. `@a`, puis `@@`.
en: `qa` record your actions in the _register_ `a`. Then `@a` will replay the macro saved into the register `a` as if you typed it.
fr: `qa` enregistre tout ce que vous faite et enregistre le tout dans le _registre_ `a`. Ensuite `@a` va rejouer la macro enregistrée dans le registre `a` comme si c'est vous qui tapiez au clavier.
en: > Example:
en: > On a line containing only a number type this:
en: > `qaYpC-aqq` -> `qa` start recording. `Yp` duplicate this line. `C-a` increment the number. `qq` stop recording.
en: >
en: > Now a `10@a` will create a list of increasing numbers.
fr: > Exemple :
fr: > Sur une ligne contenant seulement un nombre tapez :
fr: > `qaYpC-aqq` -> `qa` début de l'enregistrement. `Yp` copier cette ligne. `C-a` incrémente le nombre. `qq` arrête d'enregistrer.
fr: >
fr: > Maintenant essayez `10@a`. Cela va créer une liste de nombre croissants.
fr: Mais aussi,
en: But also,
fr: Sélection visuelle.
en: Visual selection
en: We saw an example with `C-V`.
en: There is also `v` and `V`.
en: Once the selection made, you can:
en:
en: - `=` -> auto indent
en: - `<` (resp. `>`) -> indent to the left (resp. to the right).
en: - `J` -> join all lines together.
fr: On a déjà vu un exemple avec `C-V`.
fr: Mais il y a aussi, `v` et `V`.
fr: Et une fois la sélection visuelle faite vous pouvez par exemple:
fr:
fr: - `=` -> auto indenter
fr: - `<` (resp. `>`) -> indenter à gauche (resp. à droite).
fr: - `J` -> joindre toutes les lignes pour en faire une seule
en: Add something at the end of all visually selected lignes:
en:
en: - `S-V`
en: - go to desired line (`jjj` or `C-d` or `/pattern` or `%` etc...)
en: - `$` go to the end of line
en: - `A`, write texte, `ESC`.
fr: Ajouter quelque chose à la fin de toutes les lignes sélectionnées visuellement :
fr:
fr: - `S-V`
fr: - aller jusqu'à la ligne désirée (`jjj` ou `C-d` ou `/pattern` ou `%` etc...)
fr: - `$` aller à la fin
fr: - `A`, écrire le texte, `Echap`.
en: Splits : `:split` and `vsplit`. You should look at `:help split`
fr: Splits : `:split` et `vsplit`. Pour en savoir plus faite un `:help split`
## Conclusion
Voici la liste quasi-exhaustive de la petite partie de vim que j'utilise tous les jours. Il s'agit de simplement une trentaines de commandes. Mais c'est déjà très suffisant pour être très efficace dans l'édition de fichiers.
Voici une "cheat-sheet" :
- Insertions : `i`, `a`, `o`, `O`, `r`, `cw`
- Moves : `w`,`%`,`/<pattern>`, `*`, `#`
- Search &amp; Replace : `:%s/<pattern>/<replace>/gc` (more info, `:help :s`)
- Delete : `dd`
- Copy/Paste : `dd`, `p`, `P`.
en: Voilà, je vous ai donné 90% des commandes que j'utilise tous les jours.
en: N'essayez pas de tout apprendre en une journée.
en: Il faut le temps de s'habituer à chaque nouvelle commande.
en: Ajouter une ou deux commande par jour tous les jours est un bon exercice.
en: Dans 1 mois vous en connaitrez au moins autant que moi.
en: And keep in mind I am not a vim master, just a regular user.

View file

@ -136,10 +136,10 @@ I suggest:</p>
<blockquote>
<ul>
<li><code>a</code>: insert <em>after</em> the cursor</li>
<li><code>o</code>: insert a new line after the current one</li>
<li><code>O</code>: insert a new line before the current one</li>
<li><code>cw</code>: replace the word under the cursor</li>
<li><code>a</code> &rarr; insert <em>after</em> the cursor</li>
<li><code>o</code> &rarr; insert a new line after the current one</li>
<li><code>O</code> &rarr; insert a new line before the current one</li>
<li><code>cw</code> &rarr; replace the word under the cursor</li>
</ul>
</blockquote>
</li>
@ -148,10 +148,10 @@ I suggest:</p>
<blockquote>
<ul>
<li><code>0</code>&nbsp;: go to first column</li>
<li><code>^</code>&nbsp;: go to first character of the line</li>
<li><code>$</code>&nbsp;: go to the end of line</li>
<li><code>/pattern</code>&nbsp;: search for <code>pattern</code> </li>
<li><code>0</code> &rarr; go to first column</li>
<li><code>^</code> &rarr; go to first character of the line</li>
<li><code>$</code> &rarr; go to the end of line</li>
<li><code>/pattern</code> &rarr; search for <code>pattern</code> </li>
</ul>
</blockquote>
</li>
@ -160,8 +160,8 @@ I suggest:</p>
<blockquote>
<ul>
<li><code>P</code>: copy before, remember <code>p</code> is copy after current position.</li>
<li><code>yy</code>: copy current line, easier but equivalent to <code>ddP</code></li>
<li><code>P</code> &rarr; copy before, remember <code>p</code> is copy after current position.</li>
<li><code>yy</code> &rarr; copy current line, easier but equivalent to <code>ddP</code></li>
</ul>
</blockquote>
</li>
@ -169,86 +169,147 @@ I suggest:</p>
<h2 id="level-3---better-stronger-faster">Level 3 - Better. Stronger. Faster.</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>Congratulation! If you managed to go until here, we can start the interresting stuff.
At level 3, we&rsquo;ll only talk about command which are compatible in the old <code>vi</code>.</p>
<p>Commençons par le premier super pouvoir de <code>vi</code>, éviter les répétitions (niveau 1):</p>
<p>Lets start by the first <code>vi</code> super-power. Limit to repeat yourself (basic):</p>
<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>
<li><code>.</code> &rarr; (dot) will repeat the last command,</li>
<li>N&lt;command&gt; &rarr; will do the command N times.</li>
</ol>
<p>Quelques examples, ouvrez un fichier avec vim et tapez:</p>
<p>Some examples, open a file and type:</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>
<li><code>2dd</code> &rarr; will delete 2 lines</li>
<li><code>3p</code> &rarr; will paste the text 3 times</li>
<li><code>100idesu [ESC]</code> &rarr; will write &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; Just after the last command will write again the 100 &ldquo;desu &ldquo;. </li>
<li><code>3.</code> &rarr; Will write 3 &ldquo;desu&rdquo; (and not 300, how clever).</li>
</ul>
</blockquote>
<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>
<p>Second vi super power, moving (basic):
Knowing how to move efficiently with vim is <em>very</em> important. Do not jump this section.</p>
<ol>
<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>N<code>G</code> &rarr; Go to line N</li>
<li><code>gg</code> &rarr; shortcut for <code>1G</code>, go to the start of the file</li>
<li><code>G</code> &rarr; Go to last line</li>
<li>
<p>Déplacement autour des mots:</p>
<p>Word moves:</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>
<li><code>w</code> &rarr; go to the start of the following word,</li>
<li><code>e</code> &rarr; go to the end of this word.</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>
<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>
<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>
<li><code>W</code> &rarr; go to the start of the following &ldquo;extended&rdquo; word,</li>
<li><code>E</code> &rarr; go to the end of this &ldquo;extended&rdquo; word.</li>
</ol>
</blockquote>
</li>
</ol>
<p>Maintenant passons aux déplacement qui vont vous faire sentir vraiment meilleur&nbsp;:</p>
<p>Now lets talk about very efficient moves:</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>
<li><code>%</code>&nbsp;: Go to corresponding <code>(</code>, <code>{</code>, <code>[</code>.</li>
<li><code>*</code> (resp. <code>#</code>)&nbsp;: go to next (resp. previous) occurrence of the word under the cursor</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>
<p>Believe me, these last three command are gold.</p>
<h2 id="niveau-3---intermdiaire">Niveau 3 - Intermédiaire</h2>
<h2 id="level-4---power-overwhelming">Level 4 - Power Overwhelming</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>With all preceding commands you should be comfortable to use vim.
But now, here are the killer features.
Some of these features were the reason I started to use vim.</p>
<p><code>S-V</code>&nbsp;: Sélectionner des lignes
&rarr; d les supprimer + copier
&rarr; </p>
<p>Move on current line, any of: <code>0^$fFtT,;</code></p>
<p><code>C-t</code>&nbsp;: Ajoute une tabulation
<code>C-d</code>&nbsp;: Supprime une tabulation</p>
<blockquote>
<ul>
<li><code>0</code> &rarr; go to column 0</li>
<li><code>^</code> &rarr; go to first character on the line</li>
<li><code>$</code> &rarr; go to the last character on the line</li>
<li><code>fa</code> &rarr; go to next occurrence of the letter <code>a</code> on the line. <code>,</code> will seek next occurrence.</li>
<li><code>t,</code> &rarr; go just after the character <code>,</code>.</li>
<li><code>3fa</code> &rarr; recherche la 3<sup>rd</sup> occurrence de <code>a</code>.</li>
<li><code>F</code> and <code>T</code> &rarr; like <code>f</code> and <code>t</code> but backward.</li>
</ul>
</blockquote>
<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>Select rectangular blocs: <code>C-V</code>. </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>
<p>Rectangular blocks are very useful to comment many lines of code.
Typically: <code>0C-VC-dI// [ESC]</code></p>
<ul>
<li><code>^</code> &rarr; go to start of the line</li>
<li><code>C-V</code> &rarr; Start block selection</li>
<li><code>C-d</code> &rarr; move down (could also be <code>jjj</code> or <code>%</code>, etc&hellip;)</li>
<li><code>I// [ESC]</code> &rarr; write <code>// </code> to comment each line</li>
</ul>
<p>Completion: <code>C-n</code> and <code>C-p</code>.</p>
<p>In insertion mode, just type the start of a word, then type <code>C-p</code>, magic&hellip;</p>
<p>Macros&nbsp;: <code>qa</code> do something <code>qq</code>, then <code>@a</code> (also <code>@@</code>, repeat the last <code>@x</code>).</p>
<p><code>qa</code> record your actions in the <em>register</em> <code>a</code>. Then <code>@a</code> will replay the macro saved into the register <code>a</code> as if you typed it.</p>
<blockquote>
<p>Example:
On a line containing only a number type this:
<code>qaYpC-aqq</code> &rarr; <code>qa</code> start recording. <code>Yp</code> duplicate this line. <code>C-a</code> increment the number. <code>qq</code> stop recording.</p>
<p>Now a <code>10@a</code> will create a list of increasing numbers.</p>
</blockquote>
<p>But also,</p>
<p>Visual selection</p>
<p>We saw an example with <code>C-V</code>.
There is also <code>v</code> and <code>V</code>.
Once the selection made, you can:</p>
<ul>
<li><code>=</code> &rarr; auto indent</li>
<li><code>&lt;</code> (resp. <code>&gt;</code>) &rarr; indent to the left (resp. to the right).</li>
<li><code>J</code> &rarr; join all lines together.</li>
</ul>
<p>Add something at the end of all visually selected lignes:</p>
<ul>
<li><code>S-V</code> </li>
<li>go to desired line (<code>jjj</code> or <code>C-d</code> or <code>/pattern</code> or <code>%</code> etc&hellip;)</li>
<li><code>$</code> go to the end of line</li>
<li><code>A</code>, write texte, <code>ESC</code>.</li>
</ul>
<p>Splits&nbsp;: <code>:split</code> and <code>vsplit</code>. You should look at <code>:help split</code></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 tout apprendre en une journée.
Il faut le temps de s&rsquo;habituer à chaque nouvelle commande.
Ajouter une ou deux commande par jour tous les jours est un bon exercice.
Dans 1 mois vous en connaitrez au moins autant que moi.
And keep in mind I am not a vim master, just a regular user.</p>
</div>
@ -322,7 +383,7 @@ Retenez les, et vous gagnerez beaucoup de temps.</p>
</div>
<div id="lastmod">
Created: 08/18/2011
Modified: 08/19/2011
Modified: 08/22/2011
</div>
<div>
Entirely done with

View file

@ -135,10 +135,10 @@ Vous pouvez passer à l&rsquo;étape d&rsquo;après. </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>
<li><code>a</code> &rarr; comme <code>i</code>, mais après la position du curseur.</li>
<li><code>o</code> &rarr; comme <code>i</code>, mais à la ligne suivante</li>
<li><code>O</code> &rarr; comme <code>o</code> mais ajoute la ligne avant.</li>
<li><code>cw</code> &rarr; remplacer le mot sous le curseur.</li>
</ul>
</blockquote>
</li>
@ -147,10 +147,10 @@ Vous pouvez passer à l&rsquo;étape d&rsquo;après. </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>
<li><code>0</code> &rarr; aller à la première colonne</li>
<li><code>^</code> &rarr; aller au premier caratère de la ligne</li>
<li><code>$</code> &rarr; aller à la fin de la ligne</li>
<li><code>/pattern</code> &rarr; rechercher <code>pattern</code> dans le fichier.</li>
</ul>
</blockquote>
</li>
@ -159,8 +159,8 @@ Vous pouvez passer à l&rsquo;étape d&rsquo;après. </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>
<li><code>P</code> &rarr; Coller avant, souvenez-vous que <code>p</code> collait après la position du curseur.</li>
<li><code>yy</code> &rarr; copier la ligne courante. C&rsquo;est plus simple et équivalent à <code>ddP</code></li>
</ul>
</blockquote>
</li>
@ -168,20 +168,17 @@ Vous pouvez passer à l&rsquo;étape d&rsquo;après. </p>
<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>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 choses qui sont aussi disponible dans le vieux <code>vi</code>. </p>
<p>Commençons par le premier super pouvoir de <code>vi</code>, éviter les répétitions (niveau 1):</p>
<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>
<li><code>.</code> &rarr; Le caractère point répètera la dernière commande.</li>
<li>N&lt;commande&gt; &rarr; répètera la commande N fois. </li>
</ol>
<p>Quelques examples, ouvrez un fichier avec vim et tapez:</p>
<p>Quelques exemples, ouvrez un fichier avec vim et tapez&nbsp;:</p>
<blockquote>
<ul>
@ -189,11 +186,11 @@ Pour cette section, je vais seulement parler de choses qui était aussi disponib
<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>
<li><code>3.</code> &rarr; Écrira 3 &ldquo;desu&rdquo; et non pas 300.</li>
</ul>
</blockquote>
<p>Second super pouvoir de vim, les déplacements (niveau 1):
<p>Second super pouvoir de vim, les déplacements (niveau 1)&nbsp;:
Savoir se déplacer efficacement avec vim est <em>très</em> important, ne sautez pas cette section.</p>
<ol>
@ -232,22 +229,80 @@ Si vous voulez considérer les mots au sens &ldquo;jusqu&rsquo;au prochain espac
<p>Croyez moi, ces trois dernières commandes valent de l&rsquo;or.
Retenez les, et vous gagnerez beaucoup de temps.</p>
<h2 id="niveau-3---intermdiaire">Niveau 3 - Intermédiaire</h2>
<h2 id="niveau-4---power-overwhelming">Niveau 4 - Power Overwhelming</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>Avec toutes les commandes précédentes vous avez presque toutes les commandes que j&rsquo;utilise tous les jours.
Mais voici les killer features de vim.
Celles que je n&rsquo;ai retrouvé que dans vim (ou presque).</p>
<p><code>S-V</code>&nbsp;: Sélectionner des lignes
&rarr; d les supprimer + copier
&rarr; </p>
<p>Déplacement sur la ligne&nbsp;: <code>0^$fFtT,;</code></p>
<p><code>C-t</code>&nbsp;: Ajoute une tabulation
<code>C-d</code>&nbsp;: Supprime une tabulation</p>
<blockquote>
<ul>
<li><code>0</code> &rarr; aller à la colonne 0,</li>
<li><code>^</code> &rarr; aller au premier caractère de la ligne</li>
<li><code>$</code> &rarr; aller au dernier caractère de la ligne</li>
<li><code>fa</code> &rarr; vous amène à la prochaine occurrence de a sur la ligne courante. <code>,</code> recherche l&rsquo;occurrence suivante.</li>
<li><code>t,</code> &rarr; vous amène juste après le <code>,</code>.</li>
<li><code>3fa</code> &rarr; recherche la 3ième occurrence de <code>a</code>.</li>
<li><code>F</code> et <code>T</code> &rarr; comme <code>f</code> et <code>t</code> mais en arrière.</li>
</ul>
</blockquote>
<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>Sélection de blocs rectangulaires&nbsp;: <code>C-V</code>.</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>
<p>Les blocs rectangulaires sont très commodes pour commenter plusieurs lignes de codes.
Typiquement: <code>^C-VC-dI// [ESC]</code></p>
<ul>
<li><code>^</code> &rarr; aller en début de ligne</li>
<li><code>C-V</code> &rarr; Commencer la sélection du bloc</li>
<li><code>C-d</code> &rarr; se déplacer vers le bas (pourrait être <code>jjj</code> ou <code>%</code> etc&hellip;)</li>
<li><code>I// [ESC]</code> &rarr; écrit <code>// </code> pour commenter le reste de la ligne.</li>
</ul>
<p>Complétion&nbsp;: <code>C-n</code> et <code>C-p</code>.</p>
<p>En mode insertion, commencez à écrire le début d&rsquo;un mot déjà présent dans l&rsquo;un des buffers (fichers) ouvert et tapes <code>C-p</code>. Magique.</p>
<p>Macros&nbsp;: <code>qa</code> faire quelque chose <code>qq</code>. <code>@a</code>, puis <code>@@</code>.</p>
<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.</p>
<blockquote>
<p>Exemple&nbsp;:
Sur une ligne contenant seulement un nombre tapez&nbsp;:
<code>qaYpC-aqq</code> &rarr; <code>qa</code> début de l&rsquo;enregistrement. <code>Yp</code> copier cette ligne. <code>C-a</code> incrémente le nombre. <code>qq</code> arrête d&rsquo;enregistrer.</p>
<p>Maintenant essayez <code>10@a</code>. Cela va créer une liste de nombre croissants.</p>
</blockquote>
<p>Mais aussi,</p>
<p>Sélection visuelle.</p>
<p>On a déjà vu un exemple avec <code>C-V</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>=</code> &rarr; auto indenter</li>
<li><code>&lt;</code> (resp. <code>&gt;</code>) &rarr; indenter à gauche (resp. à droite).</li>
<li><code>J</code> &rarr; joindre toutes les lignes pour en faire une seule</li>
</ul>
<p>Ajouter quelque chose à la fin de toutes les lignes sélectionnées visuellement&nbsp;: </p>
<ul>
<li><code>S-V</code> </li>
<li>aller jusqu&rsquo;à la ligne désirée (<code>jjj</code> ou <code>C-d</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>Splits&nbsp;: <code>:split</code> et <code>vsplit</code>. Pour en savoir plus faite un <code>:help split</code></p>
<h2 id="conclusion">Conclusion</h2>
</div>
@ -321,7 +376,7 @@ Retenez les, et vous gagnerez beaucoup de temps.</p>
</div>
<div id="lastmod">
Écrit le : 17/08/2011
modifié le : 19/08/2011
modifié le : 22/08/2011
</div>
<div>
Site entièrement réalisé avec

View file

@ -26,7 +26,7 @@
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/Efficient-Vim-knowledge/</loc>
<lastmod>2011-08-22</lastmod>
<lastmod>2011-08-24</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/softwares/</loc>
@ -134,7 +134,7 @@
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/Efficient-Vim-knowledge/</loc>
<lastmod>2011-08-22</lastmod>
<lastmod>2011-08-24</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/softwares/ypassword/iphoneweb/</loc>