Vim

De Bricosoft.

Utilisateurs de vim
Pourquoi vim ? Réponse : 42

Vim est un éditeur de texte surpuissant présent chez tous les bons systèmes d'exploitation.

Des nombreuses voix s'élèvent dans le monde entier pour le renommer en vtp pour Vim trop puissant.

Sommaire

[modifier] regexp

[modifier] utiliser le mode very magic

Par exemple, la substitution inbitable suivante

:%s/\(\d\+\)\s\+/\1, '/gc

deviens plus claire :

:%s/\v(\d+)\s+/\1, '/gc

Utiliser "\v" change tous les caractères ASCII en sens spécial sauf '0'-'9', 'a'-'z', 'A'-'Z' et '_'.

Utiliser "\V" signifie que seul l'antislash indique un caractère spécial.

Exemples avec \m, \M, \v et \V :

après:  \v       \m       \M       \V          capture :
               'magic' 'nomagic'
         $        $        $        \$         fin de ligne
         .        .        \.       \.         n'importe quel caractère
         *        *        \*       \*         0 à infini
         ()       \(\)     \(\)     \(\)       stocke dans une variable
         |        \|       \|       \|         séparation d'alternatives
         \a       \a       \a       \a         caractère alphabétique
         \\       \\       \\       \\         antislash
         \.       \.       .        .          point
         \{       {        {        {          accolade
         a        a        a        a          a

[modifier] opérations courantes

Quitter un fichier sans enregistrement

:q!

Quitter avec enregistrement

:x

Quitter en ignorant les modifications puis réouvre le même fichier

:e!

Aller à la fin

GG

Aller au début

gg

[modifier] Modification

Insérer

i

Insérer à la ligne suivante

o

Insérer à la ligne au dessus

O

[modifier] Recherche et substitution

Recherche vers la fin

/toto

Recherche vers le début

?toto

Recherche et substitution interactive

:%s/toto/riri/gc

Exemples :

[modifier] Pour ajouter en début de ligne un guillemet simple

:%s/^/'/gc

[modifier] Pour ajouter en fin de ligne un guillemet simple suivi d'une virgule

:%s/$/',/gc

Efface ce qui se trouve à l'intérieur de doubles apostrophes "" et démarre l'insertion

ci"

Efface ce qui se trouve entre crochets [] autour de la position du curseur

da[

Met en surbrillance ce qui se trouve entre simple guillemets

vi'

Met en surbrillance les parenthèses

ya(

Va à la prochaine occurence du mot sur le curseur

*

[modifier] Copier, coller, couper

[modifier] Copier

Copier une ligne

yy

Copier 6 lignes

6yy

[modifier] Coller

Coller après

p

Coller avant

P

[modifier] Couper

Couper une ligne

dd

Couper 6 lignes

6dd

Couper un mot

dw

Couper 3 mots

d3w

Couper une lettre

x

Couper 6 lettres

6x

[modifier] Autre

Lancer une commande shell

!ls

Dupliquer dix lignes à la suite

yy10p

[modifier] charset

:language

[modifier] édition

:set encoding=utf-8

[modifier] écriture du fichier

:set fileencodings=utf-8
:set fileencodings=ucs-bom,utf-8,latin1

[modifier] bidouiller du xml

indente + efface espace dans balise

:%s%>\(\s\|\r\|\n\)*<%>\r<%g

[modifier] bidouiller un texte

enlever tous les caractères d'une ligne après ; et les remplacer par une virgule :

:%s/;.\+$/,/gc

[modifier] En vrac

[modifier] Enlever les espaces au début s'une ligne

:%s/^\s\+//gc

Avant :

                  glop glop

Après :

glop glop
  • ^ indique le début de la ligne
  • \s c'est la famille des espaces
  • \+ token magique pour dire 1 ou plusieurs truc(s)

[modifier] Remplacer des espaces par des virgules

:%s/\(\d\+\)\s\+/\1, '/gc

Avant :

69 Nice Position 

Après :

69, 'Nice Position
  • \(\d\+\) les parenthèses échappées capturent ce qu'il y a dedans et le range dans \1. S'il y avait eu d'autre parenthèses ça aurait été dans \2
  • \1 c'est le contenu des parenthèses de la partie à gauche

[modifier] Rajouter une quote à chaque fin de ligne

%s/$/'/gc

Avant :

69, 'Nice Position 

Après :

69, 'Nice Position'
  • $ est le caractère magique de fin de ligne

[modifier] insérer la date

Avoir le choix dans la date peut procurer des sensations :

:r !date

Va coller la date dans le texte.

mercredi 19 décembre 2010, 11:12:13 (UTC+0100)

Source: [1]

[modifier] supprimer les lignes vides

:g/^$/d

[modifier] supprimer les lignes qui ne contiennent pas babelfish

:g!/babelfish/d

[modifier] supprimer les lignes qui contiennent plop

:g/plop/d

[modifier] supprimer les saut de lignes

:%s/\n//g

[modifier] Dans ~/.vimrc

Permet d'écrire le fichier même si l'on a oublié de faire un sudo vim fichier

cmap w!! %!sudo tee > /dev/null %

Récupérée de « http://www.bricosoft.com/Vim »
Plus