search
top

Editeur VIM

Se déplacer

Dans la plupart des cas, on peut faire précéder la commande d’un nombre, qui sera le nombre de fois où l’action sera répétée.

Les touches fléchées ou, mieux, h (gauche), j (bas), k (haut), and l (droite).

w (word) pour aller de mot en mot.

Par exemple 3w pour se déplacer de 3 mots en avant

b est l’inverse de w, utile pour se déplacer d’un mot en arrière

) pour se déplacer à la phrase suivante, ( pour aller à la suivante.

Pour aller au paragraphe suivant, pour le précédent

$ pour aller à la fin de la ligne (ou touche « Fin »)

0 ou ^ pour revenir au début de la ligne (ou touche « Début » au-dessus de la touche « Fin »)

f+lettre positionnera le curseur sur la lettre voulue de la ligne en cours

F+lettre fait la même chose mais vers la gauche

3G positionne le curseur sur la ligne 3 (pareil avec :3)

Pour afficher les numéros de ligne, tapez la commande :set number (:set nonumber pour annuler)

Ctrl+u monte d’un demi-écran, Ctrl+d descend d’un demi-écran

Effacer du texte

x efface un caractère

dd efface la ligne courante, dw efface un mot.

d3w efface 3 mots (à noter que 3dw revient au même)

d$ ou D efface la fin de la ligne, d0 efface le début.

Modifier du texte

c (change) efface et se met en mode insertion

Par exemple, cfh efface jusqu’à la lettre h et se met en mode insertion.

r remplace la lettre sous le curseur par la prochaine lettre tapée.

R pour en remplacer plusieurs change la casse, passe la minuscule en majuscule et vice-versa

o insère une nouvelle ligne

J permet de joindre 2 lignes

Recherche

/mot va se placer sur la prochaine occurence de « mot »

taper n ou / pour aller au suivant

? ou N pour aller au précédent.

Vi conserve en mémoire les différentes recherches. Taper / puis flèche haut ou bas pour faire défiler l’historique.
On peut donc faire d/arbre pour effacer le texte jusqu’au mot arbre !
Recherche d’un motif :

/bo.te* cherche boite, boîte, boiter etc…

/bo[iî]te cherche boite ou boîte

Remplacer

:%s/bo[iî]te/récipient/g remplace toutes les occurences boite ou boîte par récipient dans tout le document

g pour remplacer toutes les occurences d’une ligne

% (équivalent de 1,$) pour remplacer sur toutes les lignes

Couper-coller

Quand on efface un texte, celui-ci est automatiquement mémorisé. Pour le déplacer, il suffit de taper p à l’endroit où on veut voir coller ce texte.

Copier se fait avec la commande y (yank). yy copie une ligne, yw copie un mot, etc …
Autres commandes utiles

pour sauvegarder et quitter, taper ZZ

pour sauver :w

pour quitter :q (:q ! pour quitter sans sauver)

u undo, annule la dernière action
Ctrl+r pour refaire une action annulée

Insérer plusieurs fois un caractère : 30i*[Esc]
insèrera ******************************

:e ! réouvre le fichier tel qu’il était à la dernière sauvegarde. Ca permet d’annuler toutes les modifications depuis la dernière sauvegarde.

Raccourcis : Il est possible de définir des raccourcis. Par exemple, en tapant « M81″, on veut qu’il apparaisse « galaxie d’Andromède ». :ab M81 galaxie d’Andromède.
Pour voir la liste des raccourcis, :ab, pour enlever le raccourci M81, :unab M81

Dans le même genre, la complétion automatique de mots : il suffit de taper le début d’un mot puis Ctrl+p et vi le complète automatiquement par rapport au précédent mot commençant par les mêmes lettres.

>> pour décaler le texte vers la droite, << vers la gauche

Petit raffinement : vi http://www.monsite.fr ouvrira en édition la page internet monsite.fr !

Autre

On peut passer des commandes shell tout en restant sous Vi : !ls nous affichera la liste des fichiers du répertoire courant.

Autre truc intéressant : pour insérer le texte d’un autre fichier dans le fichier en cours, faire :r nomdufichier

Et un :r !ls insèrera la liste des fichiers dans le fichier en cours !

:5,10ce 80 centre les lignes 5 à 10 sur 80 colonnes

:right pour aligner à droite et :left pour aligner à gauche

Travailler sur plusieurs fichiers en même temps

:10 split nomdufichier ouvre un écran de 10 lignes avec le fichier en argument.

:new ouvre une fenêtre vide

Ctrl+ww pour changer de fenêtre.

Pour modifier la taille d’une fenêtre, Ctrl+w- la diminue d’une ligne et Ctrl+w+ l’aggrandit.

:q pour fermer une fenêtre

Ou ouvrir simultanément tous les scripts bash par exemple, vi *.sh puis n pour aller au suivant et N au précédent.

VIM – Faire un rechercher remplacer


/chaineRecherche le texte « chaine » vers le bas
?chaineRecherche le texte « chaine » vers le haut
nRépète la dernière recherche
//[RET]Idem que n
NInverse la recherche précédente
:g/expr1/s//expr2/gRecherche dans tous le fichier l’expression 1 et la remplace par l’expression 2
:g/expr1/s//expr2/gcIdem, mais demande une confirmation avant de remplacer
:x ,y s/expr1/expr2/gRecherche de la ligne x à la ligne y l’expression 1 et la remplace par l’expression 2

Debian – Changer l’éditeur par defaut

Pour cela, il faut utiliser la commande “update-alternatives”

Comme vous pouvez le voir ci-dessous, nano est utilisé par défaut, après avoir lancer “update-alternatives —config editor” sélectionnez “/usr/bin/vim.basic” par exemple pour utiliser vim par défaut

# update-alternatives –config editor

Il y a 4 alternatives fournissant « editor ».

Sélection    Alternative
———————————————–
1    /bin/ed
*+        2    /bin/nano
3    /usr/bin/vim.tiny
4    /usr/bin/vim.basic

Appuyez sur Entrée pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné :4
Utilisation de « /usr/bin/vim.basic » pour fournir « editor ».

top