Vim

De Linuxmemo.

(Différences entre les versions)
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
-
[[Catégorie:Commandes]]
+
=== 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

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

Outils personnels