sommaire
VIM

Voila les quelques commandes qui peuvent être utile avec Vi:
Avec Vi, il existe plusieurs mode de fonctionnement dont le mode commande (pour y aller appuyez sur ESC) ou encore le mode editeur de texte ( la touche i par exemple)

en mode ESC:

i: passe en insertion
a: insertion a droite
I: insert en debut dfe ligne
A: ... en fin de ligne
o: cree 1 ligne en dessous de la ligne courante
O: ... au dessus



Affichage utile:

:set number = :set nu: affiche le numero de ligne
:set nonumber = set nonu: enleve les numero de ligne

Deplacement rapide avec Vi:

0: debut de ligne
$: fin de ligne
w: va au prochain petit mot (suite de caracteres alphanumerique)
W: va au prochain grand mot (tient compte de la ponctuation)
b: retour au debut d'un petit mot
B: ... grand mot
e: va a la fin d'un petit mot
E: ... grand mot
fx: va au prochain caracteres x (ex: fe, fC)
Fx: fx en marche arriere
n|: va a la colonne n
^: va au premier caractere non blanc de la ligne
{ ou } : se deplace de paragraphe en paragraphe (les para sont separé par une ligne blanche)

x : va x ligne en dessous de la ligne courante
:x : va a la ligne x (meme chose que xG)
gg : va au debut de fichier
G : ... fin de ...

H: va en haut de l'ecran courant
M: va au milieu ...
L: va sur la derniere ligne ...

Marquage de texte:

positionez vous sur une ligne puis : ma (a : nom de la marque)
=>on pose une marque invisible
se deplace dans le document
puis apres 'a : se retrouve au debut de la ligne marque
Plusieurs marque sont possibles.


Insertion:

I: debut de ligne et insertion
A: va en fin de ligne et insertion
O: insert 1 ligne avt la courante

Xi texte ESC ENTER : ecrit X fois le texte

Annulation:

u: undo
.: redo

Copie / Colle:

dd: coupe une ligne
Xdd: coupe X ligne(s)
yy: copie un ligne
Xyy: copie X ligne(s)
d$: coupe de la position courante jusqu'a la fin de la ligne
d0: coupe du debut de la ligne jusqu'a la position courante
Xx: coupe X char
Xdw: coupe X petit mot
XdW: ... grand mot

p: paste en dessous
P: paste en dessus


C: coupe jusqu'au bout de la ligne et passe en INSERT

Xs: supprime X caractere(s) et rentre en INSERT
Xcw: supprime X mot(s) et rentre en INSERT

Sauve et quitter:

:w : save
:q :quitte avec ! quitte en Force
:wq : sauve et quitte
ZZ: sauve et quitte

Recherche:

/motif de recherche en descendant
?motif ... en montant

n: passe a l'occurence suivante
N: passe a l'occurence prec

Mode Visuel:

v : passe en mode visuel char
V : ... ligne
^v : visuel en bloc

Remplacement:

** ligne:
le /g : optionel permet de remplacer toute les occurences.
:s/motif a remplacer/ motif de remplacement [/g]
:s/^/^vi/ : met une tab apres le curseur (cela se tape de la maniere suivante: :s/[control + v]/[control +v+i]/ )

** plusieurs lignes :
-- mode visuel:
:s/.../...[/g] : remplace la 1° occu de chak ligne
-- mode absolu:
:X,Ys/.../...[/g] : substitue entre les lignes X et Y
-- mode relatif:
:,+2s/.../...[/g] : remplace occu de la ligne courante et des 2 lignes
au dessous

** 1 fichier:
:%s/.../...[/g] : remplace ds ts le fichier

Autre:

:new /etc/profile : ouvre le fichier /etc/profile ds une new fenetre
^ww passe d'une fenetre à l'autre

:r fichier : insert au nivo du curseur le fichier

:syn off/on : off ou on la couleur syntaxique

Paragraphe:

d} : supprime 1 para (coupe)
y} : copie ...
c}: suppr et mode INSERT

c/^vi + ENTREE: coupe jusqu'a la 1° tab