Speak English? Click here to read my English blog!

Quelques commandes Vi bien utiles

Posté par jbj le 20 août 2007 dans GNU/Linux4 commentaires
   

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
:o 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

:ab mail mail@provider.org Définit mail comme abbréviation de mail@provider.org

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
Tags:

4 commentaires

» Flux RSS des commentaires
  1. impressionnant toutes les options possible! merci pour ton article.

  2. [...] parce qu’il est extrêmement rapide et surtout car il possède un nombre incalculable de fonctions plus puissantes les unes que les autres. C’est donc avec une joie non dissimulée que j’ai appris la récente sortie de cette [...]

  3. [...] Via [...]

  4. [...] Via classé dans: Linux, Tips [...]

Commenter