Vim
De Linuxmemo.
Ligne 1 : | Ligne 1 : | ||
+ | [[Catégorie:Commandes]] | ||
=== Commandes de bases === | === Commandes de bases === | ||
- | |||
{| class="wikitable" style="text-align:center; width:80%;" | {| class="wikitable" style="text-align:center; width:80%;" | ||
Ligne 213 : | Ligne 213 : | ||
* (fr) [http://vim-fr.org/index.php/Commandes_de_bases vim-fr.org - Commandes de bases | * (fr) [http://vim-fr.org/index.php/Commandes_de_bases vim-fr.org - Commandes de bases | ||
- | + | === Intervale=== | |
+ | |||
+ | On peut donner un intervalle à toute les fonctions du mode Ex (ou command), celles qui commencent par : pour être clair. | ||
+ | La combinaison d3w est une commande du mode normal, donc si tu lui donner un intervalle tu dois utiliser la commande :normal pour exécuter des commandes du mode normal dans le mode Ex: | ||
+ | :10,20 normal d3w | ||
+ | |||
+ | ===memo total=== | ||
+ | source: http://tnerual.eriogerg.free.fr/vimqrc-fr.html |
Version du 7 décembre 2012 à 13:48
Sommaire |
Commandes de bases
Commande | Alternative | Explication |
---|---|---|
k | ↑ | Se déplacer vers le haut |
j | ↓ | Se déplacer vers le bas |
h | ← | Se déplacer vers la gauche |
l | → | Se déplacer vers la droite |
Les mouvements
Commande | Alternative | Explication |
---|---|---|
$
| Aller en fin de ligne | |
0
| Aller en début de ligne | |
^
| Aller au premier caractère qui n'est pas un espace ou une tab de la ligne | |
gg
| Aller en début de document | |
G
| Aller en fin de document | |
:<n>
| Aller à la ligne <n> (où <n> est un nombre entier)
| |
f<s>
| Jusqu'au caractère <s> en allant vers l'avant
| |
F<s>
| Jusqu'au caractère <s> en allant vers l'arrière
| |
t<s>
| Jusqu'au caractère <s> en allant vers l'avant et en s'arrêtant juste avant
| |
T<s>
| Jusqu'au caractère <s> en allant vers l'arrière et en s'arrêtant juste avant
|
Suppression
Commande | Alternative | Explication |
---|---|---|
x | Le caractère sous le curseur | |
s | Comme x mais entre en mode insertion après
| |
dd | La ligne sous le curseur | |
dw | Le mot sous le curseur | |
d$ | D | Supprime jusqu'à la fin de la ligne |
d<mouvement>
| Du curseur à la cible du déplacement | |
d<sélection>
| La sélection précisée | |
c | Se comporte comme d mais entre en mode insertion après la suppression
| |
u | Annulation de la dernière action | |
CTRL+R | Remettre (annuler l'annulation) |
Remplacement
Le caractère sous le curseur r
puis le caractère que l'on veut mettre.
Exemple: sur le mot "lepin", se positionner sur le "e", puis faire un ra
remplacera le "e" par un "a".
Entrer en mode remplacement: <Insert><Insert>
(double appui sur la touche <Insert>
) vous permettra d'entrer en mode remplacement, c'est à dire que le texte que vous saisirez remplacera ce qu'il y a en dessous du curseur. La touche R
permet également de le faire.
Macro
Nous ouvrons ce fichier avec vim, puis, pour déclencher l'enregistrement de la macro, nous tapons :
qa
q = enregistrement de la macro
a = nom de la macro
Un avis : Enregistrement survient et tout ce que nous tapons à présent est l'enregistrement de cette macro nommée “a”. Nous pouvons voir en direct sur le texte ce que notre commande vim exécute sur la ligne visée. Terminer la macro par :
q
En cas d'erreur, il suffit de quitter la macro par :
q
puis, d'utiliser la lettre :
u
pour restaurer la ligne et recommencer la macro différemment, en la nommant de manière identique. Pour relancer cette macro nommée “a”, tapons :
@a
2@a
2 = exécuter 2 fois. À noter que le nombre 2 de la répétition s'adapte aux nombres de lignes que nous voulons modifier. Il peut être supérieur à l'exemple présenté ici. @a = la macro nommée “a”
Et sur validation, les lignes visées seront modifiées.
Il est possible de modifier les macros ! Il suffit de manipuler les registres (registers) qui stockent (entre autres) le contenu des macros. Pour les voir, faites :
:registers
Pour faire appel à ces registres il faut taper " suivi du nom du registre. Par exemple pour coller le registre t dans le document courant je peux faire :
"tp
Il est alors possible d'opérer à toute sorte de changements sur cette ligne pour finalement la recopier dans le registre :
"ty
Voilà, vous savez maintenant comment modifier vos macros.
Options pour les substitutions
- %s/foo/bar/g :
globale
- %s/foo/bar/gc :
globale et demande confirmation
- %s/foo/bar/gci :
globale, demande confirmation et ignore la caste
- %s/foo/bar/gcI :
globale, demande confirmation et respect la caste
range: {number} an absolute line number . the current line *:.* $ the last line in the file *:$* % equal to 1,$ (the entire file) *:%* * equal to '<,'> (the Visual area) *:star* 't position of mark t (lower case) *:'* /{pattern}[/] the next line where {pattern} matches *:/* ?{pattern}[?] the previous line where {pattern} matches *:?* \/ the next line where the previously used search pattern matches \? the previous line where the previously used search pattern matches \& the next line where the previously used substitute
pattern matches
Action sur recherche
:g/search pattern/command
exemple supprimer les lignes vides :g/^$/d
Astuces
Afficher les numéros de lignes:
:set nu et :set nu! (pour les cacher)
Liens externes
- (fr) vim.dindinx.net - Traduction de la documentation de Vim.
- (fr) [http://vim-fr.org/index.php/Commandes_de_bases vim-fr.org - Commandes de bases
Intervale
On peut donner un intervalle à toute les fonctions du mode Ex (ou command), celles qui commencent par : pour être clair. La combinaison d3w est une commande du mode normal, donc si tu lui donner un intervalle tu dois utiliser la commande :normal pour exécuter des commandes du mode normal dans le mode Ex:
:10,20 normal d3w