Vim
De Bricosoft.
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.
[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 %
| ||||||||||||||||||||||||||||||||


