Quelques commandes de Vi

Posted by & filed under Bazar, Linux, Planet-Libre.

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”
/<dddd> 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/^(.*)n1$/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
:only 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

Via

Leave a Reply