Dans la lignée du post précédent :
Rechercher
| /word |
Recherche “word” de haut en bas |
| ?word |
Recherche “word” de bas en haut |
| /jo[ha]n |
Recherche “john” ou “joan” |
| /\< the |
Recherche “the”, “theatre” ou “then” |
| /the\> |
Recherche “the” ou “breathe” |
| /\< the\> |
Recherche “the” |
| /\< ….\> |
Recherche tous les mots de 4 lettres |
| /\/ |
Cherche “fred” mais pas “alfred” ou “frederick” |
| /fred\|joe |
Recherche “fred” ou “joe” |
| /\<\d\d\d\d\> |
Recherche exactement 4 nombres entiers |
| /^\n\{3} |
Trouve 3 lignes vides |
| :bufdo /searchstr/ |
Effectue une recherche dans tous les fichiers ouverts |
Remplacer
| :%s/old/new/g |
Remplace toutes les occurences de “old” par “new” dans le fichier |
| :%s/old/new/gw |
Remplace toutes les occurences avec confirmation |
| :2,35s/old/new/g |
Remplace toutes les occurences entre les lignes 2 et 35 |
| :5,$s/old/new/g |
Remplace toutes les occurences de la ligne 5 à la fin du fichier |
| :%s/^/hello/g |
Remplace le début de chaque ligne par “hello” |
| :%s/$/Harry/g |
Remplace la fin de chaque ligne par “Harry” |
| :%s/onward/forward/gi |
Remplace “onward” par “forward” sans tenir compte de la casse |
| :%s/ *$//g |
Supprime les espaces blancs |
| :g/string/d |
Supprime toutes les lignes contenant “string” |
| :v/string/d |
Supprime toutes les lignes ne contenant pas “string” |
| :s/Bill/Steve/ |
Remplace la première occurence de “Bill” par “Steve” dans la ligne courante |
| :s/Bill/Steve/g |
Remplace “Bill” par “Steve” dans la ligne courante |
| :%s/Bill/Steve/g |
Remplace “Bill” par “Steve” dans tout le fichier |
| :%s/\r//g |
Supprime les caractères de retour DOS (^M) |
| :%s/\r/\r/g |
Transforme les caractères de retour DOS en retours |
| :%s#<[^>]\+>##g |
Supprime les tags HTML en laissant le texte |
| :%s/^\(.*\)\n\1$/\1/ |
Supprime les lignes en doublon |
| Ctrl+a |
Incrémente le nombre sous le curseur |
| Ctrl+x |
Decrémente le nombre sous le curseur |
| ggVGg? |
Transforme le texte en Rot13 |
Casse
| Vu |
Transforme la ligne en minuscule |
| VU |
Transforme la ligne en majuscule |
| g~~ |
Inverse la casse de la ligne |
| vEU |
Mets le mot en majuscule |
| vE~ |
Modifie la casse du mot |
| ggguG |
Mets tout le texte en majuscule |
| :set ignorecase |
Ignore la casse lors des recherches |
| :set smartcase |
Ignore la casse lors des recherches sauf si une majuscule est utilisée |
| :%s/.*/\U& |
Mets toutes les lettres en majuscule |
| :%s/.*/\L& |
Mets toutes les lettres en minuscule |
| :%s/\<./\u&/g |
Mets la première lettre de chaque mot en majuscule |
| :%s/\<./\l&/g |
Mets la première lettre de chaque mot en minuscule |
| :%s/.*/\u& |
Mets la première lettre de chaque ligne ne majuscule |
| :%s/.*/\l& |
Mets la première lettre de chaque ligne en minuscule |
Lecture/Ecriture sur d’autres fichiers
| :1,10 w outfile |
Enregistre les lignes 1 à 10 dans outfile |
| :1,10 w >> outfile |
Ajoute les lignes 1 à 10 dans outfile |
| :r infile |
Insère le contenu de infile |
| :23r infile |
Insère le contenu de infile sous la ligne 23 |
Explorateur de fichiers
| :e . |
Ouvre l’explorateur de fichiers intégré |
| :Exp |
Ouvre l’explorateur de fichiers intégré |
| :Sex |
sépare la fenetre et ouvre l’explorateur de fichiers |
| :browse e |
Explorateur graphique |
| :ls |
Liste les buffers |
| :cd .. |
Se déplacer au dossier parent |
| :args |
Liste de files |
| :args *.php |
Ouvre une liste de fichiers |
| :grep expression *.php |
Retourne une liste de fichiers .php contenant expression |
| gf |
Ouvre le nom de fichier sous le curseur |
Interaction avec Unix
| :!pwd |
Execute la commande unix “pwd” et retourne à vi |
| !!pwd |
Execute la commande unix “pwd” et insère la sortie dans le fichier |
| :sh |
Quitte temporairement vi |
| $exit |
Retourne sous vi |
Alignement
| :%!fmt |
Aligne toutes les lignes |
| !}fmt |
Align toutes les lignes à la position courante |
| 5!!fmt |
Aligne les 5 lignes suivantes |
Onglets
| :tabnew |
Crée un nouvel onglet |
| gt |
Affiche l’onglet suivant |
| :tabfirst |
Affiche le premier onglet |
| :tablast |
Affiche le dernier onglet |
| :tabm n(position) |
Réarrange les onglets |
| :tabdo %s/foo/bar/g |
Execute une commande dans tous les onglets |
| :tab ball |
Mets tous les fichiers ouverts dans des onglets |
Partage de fenêtre
| :e filename |
Edite filename dans la fenêtre courante |
| :split filename |
Divise la fenêtre et charge filename |
| ctrl-w up arrow |
Déplace le curseur dans la fenêtre du haut |
| ctrl-w ctrl-w |
Déplace le curseur dans la fenêtre suivante |
| ctrl-w_ |
Maximise la fenêtre courante |
| ctrl-w= |
Donne la même taille à toutes les fenêtres |
| 10 ctrl-w+ |
Agrandis la fenêtre courante de 10 lignes |
| :vsplit file |
Divise la fenêtre verticalement |
| :sview file |
Identique à :split mais en mode lecture seule |
| :hide |
Ferme la fenêtre courante |
nly |
Fais de la fenêtre courante la seule à l’écran |
| :b 2 |
Ouvre le buffer #2 dans cette fenêtre |
Completion
| Ctrl+n Ctrl+p (en insertion) |
Compléter le mot |
| Ctrl+x Ctrl+l |
Compléter la ligne |
| :set dictionary=dict |
Definit dict comme dictionnaire |
| Ctrl+x Ctrl+k |
Compléter en utilisant le dictionnaire |
Marqueurs
| mk |
Marque la position actuelle |
| ‘k |
Déplace le curseur à la marque k |
| d’k |
Supprime le texte jusqu’à la marque k |
Abbréviations
Indentation
| :set autoindent |
Active l’indentation automatique |
| :set smartindent |
Indentation automatique intelligente |
| :set cindent |
Règles d’indentation pour programmes en C |
| :set shiftwidth=4 |
Défini 4 espaces comme taille d’indentation |
| ctrl-t, ctrl-d |
Indente/désindente en mode insertion |
| >> |
Indente |
| << |
Désindente |
Coloration syntaxique
| :syntax on |
Active la coloration syntaxique |
| :syntax off |
Désactive la coloration syntaxique |
| :set syntax=perl |
Force la coloration syntaxique |
Via