jmanteau

Mon coin de toile - A piece of Web

Quelques commandes de Vi

Posted at — Jul 22, 2008
Quelques commandes de Vi

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

/fred|joe Recherche “fred” ou “joe”

Trouve 3 lignes vides
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/

Mets la première lettre de chaque mot en majuscule

:%s/

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