VIM : éditeur de texte avancé¶
vim- lancer vim
vimtutor- lancer le tutoriel vim
Modes de VIM¶
- Mode interactif : par défaut. Permet de se déplacer dans le texte, de supprimer une ligne, copier-coller du texte, rejoindre une ligne précise, annuler ses actions, etc
- Mode insertion : appuyer sur
ipour y entrer- Mode commande : l’activer en tapant
:
| Racourcis | |
|---|---|
i |
insérer du texte
|
ESC |
sortir du mode insertion
|
| Commandes | |
|---|---|
:w |
enregistrer le fichier (write)
|
:q |
quitter
|
:wq |
enregistrer puis quitter
|
| Déplacements | |
|---|---|
h |
gauche
|
j |
bas
|
k |
haut
|
l |
droite
|
0 |
aller en début de ligne (origin)
|
$ |
aller en fin de ligne
|
w |
se déplacer de mot en mot (word)
|
^
k
< h l >
j
v
| Opérations standards | |
|---|---|
x |
effacer des lettres en mode interactif
|
(nb)x |
effacer nb lettres
|
dw |
effacer un mot
|
dd |
effacer une ligne
|
d0 |
supprimer du curseur au début de la ligne
|
d$ |
supprimer du curseur à la fin de la ligne
|
yy |
copier une ligne en mémoire
|
p |
coller (coller plusieurs fois : ex : 8p -> 8x)
|
r |
remplacer une lettre
|
u |
annuler des modifications
|
G |
aller à la ligne x (Go)
|
| Opérations avancées | |
|---|---|
/ |
passer en mode recherche (pour chercher un mot par ex)
n aller à la prochaine occurenceN aller à la précédente occurence |
:s/ancien/nouveau |
remplacer le mot “ancien” par le mot “nouveau” :
|
:s/ancien/nouveau |
remplace la première occurrence de la ligne où se trouve le curseur ;
|
:s/ancien/nouveau/g |
remplace toutes les occurrences de la ligne où se trouve le curseur ;
|
:#,#s/ancien/nouveau/g |
remplace toutes les occurrences dans les lignes n° # à # du fichier ;
|
:%s/ancien/nouveau/g |
remplace toutes les occurrences dans tout le fichier. C’est peut-être ce que vous utiliserez le plus fréquemment.
|
:r |
fusion de fichiers : insérer le contenu d’un fichier au curseur
|
| Splitter écrans (viewports) | |
|---|---|
:sp |
découper l’écran horizontalement
|
:sp autrefichier |
ouvrir autrefichier dans la seconde moitié de l’écran
|
:vsp |
découper l’écran verticalement
|
Ctrl + w puis Ctrl + ``w |
navigue de viewport en viewport. Répétez l’opération plusieurs fois pour accéder au viewport désiré.
|
Ctrl + w puis j |
déplace le curseur pour aller au viewport juste en dessous. La même chose fonctionne avec les touches
h, k, j et l que l’on utilise traditionnellement pour se déplacer dans Vim. |
Ctrl + w puis + |
agrandit le viewport actuel.
|
Ctrl + w puis - |
réduit le viewport actuel.
|
Ctrl + w puis = |
égalise à nouveau la taille des viewports.
|
Ctrl + w puis r |
échange la position des viewports. Fonctionne aussi avec « R » majuscule pour échanger en sens inverse.
|
Ctrl + w puis q |
ferme le viewport actuel.
|
| Zoom | |
|---|---|
Ctrl + Shift + + |
zoom
|
Ctrl + Shift + - |
dezoom
|
Options de vim¶
Rem : pour qu’elles soient retenues, créer un fichier .vimrc dans le répertoire personnel (un exemple de fichier se trouve dans /etc/vim -> vimrc)
:set option |
activer l’option en mode commande
|
:set nooption |
désactiver l’option en mode commande
|
:set option? |
connaitre l’état d’une option
|
:set option=valeur |
donner une valeur à une option
|
:set syntax=ON |
coloration synthaxique
|
:set background=dark |
coloration adaptée pour les fonds noirs
|
:set number |
affiche les n° de lignes
|
:set showcmd |
afficher la commande en cours
|
:set ignorecase |
ignorer la casse lors des recherches
|
:set mouse=a |
activer la souris
|
Gérer les plugins¶
https://artisan.karma-lab.net/configurer-vim
- Création d’une arborescence pour les fichiers de config :
$ cd
$ mkdir -p .vim/{autoload,colors,syntax,plugin,spell,config}
$ mv .vimrc .vim/vimrc
$ ln -s .vim/vimrc .vimrc
(on crée un lien vers .vim/vimrc`)
- Installation de
pathogen:
$ cd ~/.vim
$ git clone https://github.com/tpope/vim-pathogen.git pathogen
$ cd autoload
$ ln -s ../pathogen/autoload/pathogen.vim
- Pour mettre à jour
pathogen:
$ cd ~/.vim/pathogen
$ git pull
- Installer un plugin : exemple avec
NERDTree
$ cd ~/.vim
$ mkdir -p bundle
$ cd bundle
$ git clone https://github.com/scrooloose/nerdtree.git nerdtree
- Allure finale du dossier
.vim(situé dans~/)
.vim
├── autoload
│ └── pathogen.vim -> ../pathogen/autoload/pathogen.vim
├── bundle
│ └── nerdtree
│ ├──.......
├── colors
├── config
├── pathogen
│ ├── autoload
│ │ └── pathogen.vim
│ ├── CONTRIBUTING.markdown
│ └── README.markdown
├── plugin
├── spell
├── syntax
└── vimrc (fichier)
- Allure du fichier
vimrc:
1 set nocompatible
2
3 runtime! config/**/*.vim
4
5 set number
6
7 " Initialisation de pathogen
8 call pathogen#infect()
9 call pathogen#helptags()
10
- Pour démarrer NerdTree : taper
:NERDTreeen mode interactif