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
supprimer les ^M
:%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