Vous êtes dans un espace restreint en écriture.
<< | Vim | vim Plugins >>
Sommaires des Pages
vim est un éditeur de texte, Logiciel libre, Caritaticiel, hautement paramétrage.
Lancement de vim
- editer un fichier et aller à la ligne N:
- ouvrir un fichier en lecture:
Configuration de vim
Cela se passe dans le fichier $HOME/.vimrc:
" ceci est un commentaire
" le strict minimun des options
" mode non-compatible avec le vieux vi
set nocompatible
" activation de la colorisation syntaxique
syntax on
Principaux raccourcis clavier
commandes de base
Principaux mode |
esc | passage en mode commande, pour lancer une commande (par défaut au démarrage) |
esc: | passage en mode commande, pour taper une commande (apparaît dans la barre du bas) |
i | passage en mode insertion, pour taper du texte |
v | passage en mode visuel, pour sélectionner une zone et puis appliquer une commande à cette zone |
Déplacement (tous les modes) |
←, →, ↑, ↓, Page Up, Page Down … | déplacements classiques |
:help |
Édition (mode commande) |
x | supprimer le caractère sous le curseur |
X | supprimer le caractère à gauche |
dd | supprimer la ligne |
D | supprimer le caractère sous le curseur jusqu'a la fin de ligne |
J | fusionner la ligne courante avec celle d'en dessous |
gf | éditer le fichier sous le curseur |
:help change.txt
:help deleting
:help delete-insert |
Corriger/Supprimer (mode commande) |
Pour toutes ces commandes c (change) corrige (c'ad supprime et passe en mode édition) et d (delete) supprime (et reste en mode commande) |
cw (resp. dw) | corriger (resp. supprimer) les caractères depuis le curseur jusqu'a la fin de mot |
caw (resp. daw) | corriger (resp. supprimer) tout le mot sous le curseur |
cas | corriger toute la «phrase» |
cap | corriger tout le «paragraphe» |
Corriger/Supprimer de bloc (mode commande) |
ca[ | corriger tout le bloc [], inclu [ et ] |
ci[ | corriger dans le bloc [], exclu [ et ] |
ci(, ci<, ci{, ci', ci" | idem pour bloc (), <>, {}, '', "" |
cib, ciB | idem pour bloc (), {} |
:help object-select |
plugin surround.vim |
ds | supprimer un «surrounding» |
ex: ds" | supprimer " |
cs | changer un «surrounding» |
ex: cs({ | (coucou vim) >> {coucou vim} |
ys | ajouter un «surrounding» |
ex: ysaw} | $QWE >> ${QWE} |
ex: ysiW" | $QWE >> "$QWE" |
S | ajouter un «surrounding» en mode visuel |
:help surround |
Commandes utiles
rechercher/remplacer (mode commande) |
:s/regex/string/cg | remplacer le regex par string option c : confirmation à chaque fois option g remplacement plusieurs fois par ligne |
:s/regex | supprimer le regex |
/string | rechercher |
/\cAstring | rechercher sans case |
HOW-TOs
éditer un fichier sur une machine distante
Pour éditer, par exemple, le fichier /etc/hosts sur la machine asterix avec le compte patrick
vim scp://patrick@asterix///etc/hosts
Remarquez, les deux ``//`` avant le chemin.
reindenter du code
Ce truc permet de refaire l'indentation de tout ou partie d'un fichier de code.
Pour cela, il faut préparer vim:
:filetype indent on
:set filetype=html # abbrev - :set ft=html
:set smartindent # abbrev - :set si
:set shiftwidth=2 # abbrev - :set sw=2
- Pour un bout de code :
- V (mode visual)
- (selection des lignes)
- =
- Ou pour tout le texte:
- gg=G
voir [1]
remplacer les espaces par un newline
Il faut taper les commandes suivantes:
- V (mode visual)
- (selection des lignes)
:%s/ /
Ctrl+v Enter /g
Lire un fichier en DOS -- aka ^M problem
Une commande etrange mais finalement assez logique:
la commande
:ff=dos
ne marche pas chez moi
Encoder un texte un UTF-8
Car iconv
de fonctionne pas a tout les coup.
Utiliser la commande:
:set fileencoding=utf-8
voir [2] et [3]
Supprimer les lignes vides
voir [4]
Définir une macro
- Pour définir une macro par exemple dans
z
:
qz
(faire les commandes désirées)
q
@z
Modifier une macro.
Supposons que l'on ait défini la macro q
.
Pour la modifier, il faut faire en mode commande:
:let @q='Ctrl+rCtrl+rq'
Changer la séquence de touche et valider
Voir Aussi