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 i pour 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
latest
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 occurence
N 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 ouvrir autrefichier dans la seconde moitié de l’écran
autrefichier
:vsp découper l’écran verticalement
latest
Ctrl + w navigue de viewport en viewport. Répétez l’opération plusieurs fois pour
puis Ctrl + accéder au viewport désiré.
``w
Splitter écrans (viewports)
Ctrl + w déplace le curseur pour aller au viewport juste en dessous. La même chose
puis j fonctionne avec les touches h, k, j et l que l’on utilise traditionnellement pour
se déplacer dans Vim.
Ctrl + w agrandit le viewport actuel.
puis +
Ctrl + w réduit le viewport actuel.
puis -
Ctrl + w égalise à nouveau la taille des viewports.
puis =
Ctrl + w échange la position des viewports. Fonctionne aussi avec « R » majuscule pour
puis r échanger en sens inverse.
Ctrl + w ferme le viewport actuel.
puis q
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 exem-
ple 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 latest
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 :NERDTree en mode interactif
latest