Carte de Référence Vi

Transcription

Carte de Référence Vi
Carte de Référence Vi
Modes
Vi a deux modes: le mode d’insertion et le mode de commandes. Cet éditeur commence dans le mode de commandes, dans lequel on peut déplacer le curseur et effacer
et coller du texte. Le mode d’insertion est entré en tappant une commande d’insertion ou de changement. [ESC]
retourne l’éditeur au mode de commandes (où vous pouvez quitter en tappant :q!). La pluspart des commandes
s’exécutent dès que vous les tappez sauf pour le deux
points qui s’exécute quand vous tappez sur la touche
entrée.
Quitter
Copier du texte
Expressions régulières
Comme l’effacement, presque toutes les commandes de
copie sont formées de y et d’un mouvement. Par exemple, y$ copie jusqu’à la fin de la ligne. Voici deux autres
commandes pour copier:
un caractère simple excepté une nouvelle ligne
zéro ou plus de répétitions
un caractère dans l’ensemble
un caractère qui n’est pas dans l’ensemble
début, fin de ligne
début, fin de mot
groupement
contenu du n ème groupe
la ligne
la ligne
Changment du texte
La commande de changement est une commande
d’effacement qui laisse l’éditeur en mode d’insertion. Elle
est formée de c et d’un mouvement. Par exemple, cw change
un mot. Voici quelques autres commandes de changement
:
sortir et sauver les changements
:x
quitter (sauf s’il y a eu des changements)
:q
quitter (forcer, même si le fichier n’est pas sauvegardé) :q!
jusqu’à la fin de la ligne
la ligne au complet
Insertion de texte
coller après le curseur ou après la ligne
coller avant le curseur ou avant la ligne
insérer avant le curseur, avant la ligne
inérer après le curseur, après la ligne
ouvrir une ligne au dessus, au dessous
remplacer un caractère, plusieurs caractères
i
a
o
r
,
,
,
,
I
A
O
R
Mouvement
gauche, bas, haut, droite
prochain mot, mot précédé d’un espace
début du mot, précédé d’un espace
fin du mot, précédé d’un espace
phrase en arrière, en avant
paragraphe en arrière, en avant
début, fin de ligne
début, fin de fichier
ligne n
avancer, reculer jusq’au caractère c
avancer, reculer avant le caractère c
haut, milieu, bas de lécran
h , j , k , l
w , W
b , B
e , E
( , )
{ , }
0 , $
1G , G
n G ou :n
fc , Fc
tc , Tc
H , M , L
Effacer du texte
Presque toutes les commandes d’effacement sont formées
de d et d’un mouvement. Par exemple, dw efface un mot.
Voici quelques autres commandes:
caractère à droite, à gauche
jusqu’à la fin de la ligne
la ligne
la ligne
x , X
D
dd
:d
yy
:y
C
cc
Coller du texte
p
P
Registres
Des registres peuvent être spécifiés avant toute commande
d’effacement, de changement, de copiage ou de collage. Le
préfixe est généralement de la forme "c où c peut être une
lettre minuscule. Par exemple, "adw efface un mot dans le
registre a. On peut ensuite coller ce mot avec la commande
"ap.
Marqueurs
Des marqueurs nommés peuvent être placés sur n’importe
quelle ligne d’un fichier. Toute lettre minuscule peut être
le nom d’un marqueur. Les marqueurs peuvent aussi être
utilisés comme limites d’une étendue.
placer un marqueur c sur la ligne
aller au marqueur c
aller au début de la ligne du marqueur c
mc
‘c
’c
Chercher une chaı̂ne de caractères
chercher en avant
chercher en arrière
répéter dans la même direction, à l’inverse
/cha^
ıne
?cha^
ıne
n , N
Remplacer
Le remplacement est accompli avec la commande :s.
Elle est courramment employée en combinaison avec des
étendues ou la commande :g (plus bas).
remplacer patron par chaı̂ne :s/patron /cha^
ıne /modif
modif: sur la totalité de la ligne, confirmer
g , c
répéter la dernière commande :s
&
. (point)
*
[...]
[^ ...]
^ , $
\< , \>
\(. . . \)
\n
Compteurs
Presque chaque commande peut être précédée par un
numéro qui spécifie combien de fois elle doit être exécutée.
Par exemple, 5dw efface 5 mots et 3fe déplace le curseur en
avant vers la 3ème apparition de la lettre e. Même les insertions peuvent être répétées avec cette méthode, comme
pour insérer 100 fois la même ligne.
Étendues
Les étendues peuvent précéder la pluspart des commandes deux points pour qu’elles soient exécutées sur
une ou plusieurs lignes. Par exemple, :3,4d efface les
lignes 3−7. Le étendues sont courramment combinées
avec la commande :s pour remplacer sur plusieurs lignes.
:.,$s/patron/cha^
ıne/g remplace à partir de la ligne
courante jusqu’à la fin du fichier.
lignes n-m
ligne courante
dernière ligne
marqueur c
toutes les lignes
toutes les lignes qui vérifient patron
:n ,m
:.
:$
:’c
:%
:g/patron /
Fichiers
sauvegarder (courant s’il n’y a pas de nom) :w fichier
ajouter au fichier (>>fichier optionel)
:w >>fichier
lire le fichier après la ligne courante
:r fichier
lire la sortie du programme
:r !programme
prochain fichier
:n
fichier précédent
:prev
éditer un nouveau fichier
:e fichier
remplacer ligne par sortie du programme :.!programme
Autre
changer entre minuscule et majuscule
joindre des lignes
répéter la dernière modification de texte
annuler dernier changement, tous ceux d’une ligne u ,
~
J
.
U
Mouvements additionnels
L’endos — Extensions de Vim
Mode visuel
Le mode visuel est probablement l’extension la plus utile
de Vim. Il permet de surligner une région de texte pour y
appliquer une commande d’édition ou deux points .
surligner par caractères
surligner par ligne
surligner par colonne
re–sélectionner la zone visuelle précédente
v
V
C-V
gv
Fenêtres
Même sur les consoles textuelles, Vim permet à
l’environnement d’être divisé en fenêtres qui contiennent
des fichiers possiblement différents. Les commandes pour
ouvrir une nouvelle fenêtre prennent un fichier optionnel
en paramètre.
ouvrir une nouvelle fenêtre horizontalement
séparer la fenêtre courante horizontalement
séparer la fenêtre courante verticalement
fermer la fenêtre courante
fermer toutes les fenêtres sauf celle qui a le focus
se déplacer vers la prochaine fenêtre
se déplacer vers la fenêtre prć’edente
égaliser largeur et hauteur des fenêtres
C-W =
rappetisser, agrandir hauteur d’une ligne C-W rappetisser, agrandir largeur d’une col.
C-W <
:new
:split
:vsplit
:close
:only
C-W w
C-W p
, C-W |
, C-W +
, C-W >
Objets
En plus des mouvements de base supportés par Vi, Vim
supporte quelques autres objets: mot, phrase, paragraphe
et bloc. Ils sont utilisés avec les commandes d’édition
(effacement, changement et copie). Leur avantage sur
les mouvements est qu’il n’es pas nécessaire d’être à
l’extrémité d’un objet. Par exemple, das efface une phrase
peu importe où on se trouve dans celle-ci.
un mot, une phrase, un paragraphe
idem sans espace blanc (interne)
blocs délimités par [ ], (), <> et {}
idem sans les délimiteurs
aw,
iw,
a[, a(,
i[, i(,
as,
is,
a<,
i<,
ap
ip
a{
i{
Repliage
aller au début, à la fin d’un bloc { }
idem pour les parenthèses
idem pour / (commentaires du style C)
fin de mot précédente, suivie d’un espace
[{ ,
[( ,
[/ ,
ge,
]}
])
]/
gE
Marqueurs additionnels
Les marques ajoutées avec une lettre majuscule sont
glogales ; aller vers une marque globale peut vous
emmener vers un fichier différent. Plusieurs marques sont
mémorisées d’une session à l’autre:
dernière position où le fichier était ouvert
dernière position où le fichier a été édité
fichier et position de la dernière session Vim
’"
’.
’0
Autres recherches
recherche incrémentale
:set (no)incsearch
surligner la recherche
:set (no)hlsearch
chercher maj. et min. sans diff.
:set (no)ignorecase
chercher le mot sous le curseur: avant, arrière
* , #
Interface et couleurs
coloration de syntaxe
basculer vers le mode graphique
afficher les numéros de lignes
afficher les commandes tappées
afficher les délimiteurs correspondant
:syntax on
:gui
:set number
:set showcmd
:set showmatch
indentation automatique
:set ai
indentation intelligente
:set si
format du fichier (dos, unix, mac)
:set ff=...
édition de tables
:set virtualedit=all
éditer les options
:options
Édition en mode d’insertion
Quelques commandes sont disponnibles dans le mode
d’insertion:
copier la ligne au dessus, en dessous
C-Y , C-E
compléter avec à l’aide des mots précédents
C-P
insérer le registre (de copie)
C-R
insérer une lettre composée
C-K di
exécuter une seule commande
C-O commande
Pour faciliter l’édition d’un fichier, plusieurs lignes peuvent être repliées en une seule ligne surlignée. Écartez de
longues sections de texte ainsi pour augmenter la lisibilité.
créer, effacer un repliage
ouvrir, (re)fermer un repliage
ouvrir, fermer un niveau de repliage
ouvrir, fermer tous les repliages
désactiver, activer, basculer les repliages
sauvegarder, charger vue (avec repliages)
zf, zd
zo, zc
zr, zm
zR, zM
zn, zN, zi
:mkview, :lo
Compilation et code source
Plusieurs commandes facilitent le développement de logiciels:
corriger l’indentation d’une ligne
incrémenter le niveau d’indentation
décrémenter le niveau d’indentation
==
>>
<<
exécuter make et aller à la première erreur
:make
aller à la prochaine erreur, la précédente :cnext, :cprev
aller à la première erreur, à la dernière :cfirst, :clast
afficher l’erreur, la liste des erreurs
:cc, :clist
lignes contenant l’identificateur sous le curseur
[I
Utiliser les ctags
Vous devez d’abord exécuter ctags ou etags sur votre
fichier pour utiliser ces fonctionnalités.
aller à la fonction étiquette
aller à l’étiquette sous le curseur
étiquette précédente
:tag étiquette
C-]
C-t
Autre
reformatter les marges
majuscule, minuscule, alterner
ajouter ou soustraire du nb. sous le curseur
éditer le fichier sous le curseur
afficher le man du mot sous le curseur
imprimer une copie du fichier
énumérer les lettres composées
historique des commandes modifiable
c
2002-2005
Donald J. Bindner – sous les termes de la license GNU General Public License 2.0 ou ultérieure. Traduction française par Gabriel Filion, 2006.
gq
gU, gu, g~
C-A , C-X
gf
K
:hardcopy
:digraphs
q: