Vim
De MySoLo Wiki.
Version du 27 novembre 2008 à 19:01 par MySoLo (discuter | contributions)
Aide mémoire VI (Vim)
Il s'agit juste de notes accumulées concernant VI ou plus particulièrement Vim.
Récapitulatif des commandes sous vi
:e! réouvre le fichier vierge, toutes les modifications sont perdues W avance de mot en mot sans ponctuation (comme E,B) S remplace toute la ligne "2p paste le 2eme buffer killé cw/caw change la fin du mot courant/tout le mot courant "1p u.u. restauration progressive de tous les buffers killés: faire défiler avec u.u. xp inverse deux lettres
Y
yank toute une ligne
I
insère en début de ligne
s (ou cc_)
efface une lettre et passe en insertion
3s
efface 3 lettres et passe en insertion (souvent plus pratique que R)
S (ou cc)
remplace toute la ligne
ea
ajoute du texte à la fin d'un mot
2J
joint deux lignes
X
comme x mais efface le caractère précédent
^f
scrolle vers le bas (Forward)
^b
scrolle vers le haut (Backward)
^e
scrolle d'une ligne vers le bas
^y
scrolle d'une ligne vers le haut
z [return]
met la ligne courante en haut de l'écran
z .
met la ligne courante au centre de l'écran
z -
met la ligne courante en bas de l'écran
2H
vas en Haut, à la 2eme ligne en partant du haut
M
va au Milieu
3L
n|
va à la nieme colonne de la ligne courante
( )
déplacement de phrases en phrases
{ }
déplacement de paragraphes en paragraphes
[[ ]]
déplacement de section en section (fonctions en C)
?pattern?
recherche le pattern en arrière
:set nowrapscan
évite de recommencer la recherche du début une fois en bas
`` revient où on était précédemment
80G
aller à la ligne 80
d+ (ou dd)
détruit ligne courante + suivante
dH / dL
détruit jusqu'en haut / en bas de l'écran
d{ / 2d(
détruit un paragraphe / 2 phrases
c/pattern
remplace jusq'au pattern
cn
répette recherche
vi -R file
ouvre file en read-only
vi -r
recover mode
"a7yy
copie les 7 prochaines lignes dans le registre a
"Ay)
rajoute une phrase dans a (majuscule)
"aP
paste le buffer a
ma
marque la position courante dans a
'a
va à la ligne marquée
va en début de dernière ligne marquée
:set nu (number)
numérote les lignes
:17,30 m 40
déplace (Move) les lignes 17 à 30 en ligne 40
:17,30 t 40 (ou co)
copie (co) les lignes 17 à 30 en ligne 40
:17,18#
affiche temporairement les lignes 17 à 18
:20,. m $
déplace les lignes 20 à la ligne courante à la fin du fichier
:340,$ w >> file
ajoute les lignes suivant la ligne 340 à la fin de file
:10r file / :$r file / :0r
lit file et l'insere dans le texte (ligne 10/fin/début)
:= affiche le nombre total de lignes
:/pattern/=
affiche la première ligne qui matche le pattern
g/void/nu
affiche toutes les lignes contenant le mot void, avec leur numéro
de ligne
:n / :N
fichier suivant / précédent
:e#
switche à l'autre fichier (% fichier courant)
:%s/\(That\) or \( this \)/\2 or \1/
inverse les deux termes
/~n
effectue la dernière recherche avec un n derrière
:1,10s/.*/(&)/
entoure les lignes 1 à 10 avec des parenthèses
\u \l
dans un remplacement, met le caractère suivant en majuscule (upper)
ou en minuscule (lower)
\U \L
dans un remplacement, met le tout le texte suivant en majuscule
(upper) ou en minuscule (lower). S'arrête avec \e ou \E
:%s/Fortran/\U&/
Fortran -> FORTRAN
:set ic
ignore case
:%s/\<child\>/children/g
fonctionne sur des mots
:g/^/ m0
inverse toutes les lignes d'un fichier
:1,10g/^/12,17 t $
copie 10 fois les lignes 12 à 17 à la fin du fichier
:so file
interprète le fichier de commande (.exrc par exemple)
:!date
execute date
:r !date
exécute date et insère le résultat
:96,99!sort
filtre les lignes 96 à 99 et les trie
!)command
passe la phrase suivante avec la commande. Note: ne dois fonctionner
qu'avec des lignes entières, en principe
!!sort
trie la ligne courante
4!!sort
trie les 4 prochaines lignes
:ab abrev long
ajoute une abréviation
:unab abrev
enlève une abréviation
:ab
liste les abréviations
:map key sequence
map une touche
:unmap key sequence
unmap une touche
^v touche
écrit une touche sans la valider (return par exemple)
:map!
idem mais en mode insertion
:map #1 command
map la touche F1
^"gD
met ligne dans registre g
@g
execute le contenu de g
ex - file1 < exscript
execute le script sur file1
CTRL-T | CTRL-D
indente déindente (mode insertion)
>> | <<
indente déindente (mode commande)
:set tabstop=8 :set shiftwidth=8
set les tabulations
:set list
affiche les caractères imprimables
:5,20 l
montre tout les caractères entre 5 et 20
:set showmatch
montre les corespondances ( ) en mode insert
:set showmode
affiche le mode dans lequel on est
