Ceci est une ancienne révision du document !



Vi IMproved

Vim est un éditeur de texte pour le terminal sous GNU/Linux. Il a une stabilité exemplaire et ne cesse d'être amélioré . Malgré son austérité, c'est un outil très puissant qui n'a rien à envier aux éditeurs graphiques comme GEdit, Kate ou Mousepad. Il est très apprécié des développeurs pour toutes ses fonctions qui en font un très bon IDE (coloration syntaxique de 200 langages, complétion automatique, comparaison de fichiers, recherche évoluée, …) et est extensible par des scripts.

Contrairement à la plupart des éditeurs, Vim est un éditeur modal1). Selon le mode où vous vous trouvez, les touches auront des actions différentes.

Vim est un "charity-ware" : vous êtes encouragés à faire une donation aux orphelins d'Ouganda (voyez : ":help uganda").

Par défaut, votre système a une version basique de vim, procurée par le paquet vim-tiny, mais n'offrant pas toutes les possibilités de cet éditeur.

Commencez par installer le paquet vim .

Avec une interface graphique

Parce que l'utilisation d'un terminal ne plait pas à tout le monde, une interface graphique existe également permettant d'avoir vim, ainsi que ses fonctions principales dans des menus accessibles à la souris.

Pour l'utiliser installez le paquet vim-gnome

Une fois installé vous trouverez Gvim dans : Applications > Accessoires (Sous un bureau Gnome). Pour les versions antérieur à Karmic le paquet ne fournit pas de lanceur, il vous faudra donc créer un lanceur avec comme commande : gvim ou utiliser la combinaison de touches ALT + F2.

Dans la suite nous ne détaillerons pas les menus de cette interface qui sont classiques, toutes les fonctions de vim accessibles au clavier le sont encore dans cette interface graphique.

Tutoriel

L'installation de vim fournie un programme spécifique pour l'apprentissage de vim. Il faut compter environ 30 minutes pour faire le tour de ce tutoriel, mais cela très utile pour vous familiariser avec les commandes les plus courantes de vim.

Pour le lancer il vous suffit d'aller dans un terminal et de taper :

vimtutor

(ou pour la version graphique, lancez l'application gvimtutor avec la combinaison de touches ALT + F2 ou dans le terminal)

Vim dispose aussi d'un tutoriel francophone non-officiel en ligne : http://vim-fr.org/

Principe de base

Pour créer ou modifier un fichier avec vim il suffit de taper :

vim /chemin/texte

Si le fichier n'existe pas il sera créé à l'enregistrement.

Le fichier s'affiche. Vous êtes dans le mode commande2), c'est à dire que vous pouvez déplacer le curseur comme vous le souhaitez avec les touches h,j,k,l ou avec les flèches ←↓↑→ et entrer des commandes pour agir sur le texte. Si vous tapez un nombre avant une commande, elle se répétera d'autant.

Pour accéder au mode insertion3) afin de modifier ou d'insérer du texte, il suffit d'appuyer sur « i » dans le mode commande. Appuyer sur la touche « Échap » pour en sortir et repasser en mode commande.

Commandes de base:

Exemples Action
i Passer dans le mode insertion
A Ajouter en fin de ligne
:q Quitter
:q! Quitter sans enregistrer
:w Enregistrer le fichier
:wq Enregistrer et quitter
:set paste Passer en mode "collage"

Commandes d'édition:

Exemples Action
u Annuler la dernière opération
<control>-r Rétablir la dernière opération annulée
. Répéter la dernière opération d'édition
yy Copier la ligne (4yy = 4 lignes)
dd Couper la ligne (4dd = 4 lignes)
p Coller après (P = insérer avant)
x Effacer le caractère
dw Effacer le mot sous le curseur

Recherche / remplacement:

Exemples Action
/ Rechercher du texte
n Rechercher l'occurence suivante
N Rechercher l'occurence précédente
cw Remplacer le mot
C Remplacer jusqu'en fin de ligne
. Répéter la dernière opération d'édition
:%s/A/B/g Remplacer tous (g) les A par des B

Fenêtrage:

Exemples Action
<control-w>-s Diviser horizontalement
<control-w>-s Diviser verticalement
<control-w>-s Diviser verticalement
<control-w>-w Passer à la fenêtre suivante
<control-w>-n Ouvrir un fichier vierge dans une nouvelle fenêtre
<control-w>-q Fermer la fenêtre

Programmation en C

Vim est interfaçable avec CScope, ce qui permet à l'aide d'une simple touche lors de l'édition d'un fichier source écrit en C:

  • d'afficher la définition d'une fonction,
  • de trouver les fonction appelées par cette fonction,
  • de trouver les fonctions appelant cette fonction
  • de trouver/remplacer une chaine de caractères ou un expression régulière
  • de trouver les fichiers incluant le header file indiqué sous le curseur

Pour modifier le comportement de vim, il faut agir sur son fichier de configuration (chaque utilisateur peut avoir le sien). Pour cela créez ou éditez le fichier ~/.vimrc.

Voici quelques paramètres utiles à ajouter dans ce fichier :

Paramètre Action
syntax on
Active la coloration syntaxique
set number
Affiche les numéros de lignes

Si vim ne souvient de la position précédente du curseur lorsque vous re-ouvrez un fichier, il faut ajouter la ligne suivante dans le fichier ~/.vimrc:

au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif

confère commande vim :help last-position-jump ou bien en tapant:

grep -A4 last-position-jump /usr/local/share/vim/vim72/doc/eval.txt

Il est également possible de faire ces modifications dans le fichier /etc/vim/vimrc avec les droit administrateur pour qu'elles s'appliquent à tous les utilisateurs du système.

Un fichier exemple est disponible également /usr/share/vim/vimcurrent/vimrc_example.vim

Si vous avez l'erreur "Sorry, the command is not available in this version: syntax on", vous utilisez surement vim-tiny et non vim "complet". Pour y remédier, supprimez le paquet vim-tiny et ré-installez le paquet vim

Vous pouvez pouvez aussi utiliser la commande suivante et choisir vim.gnome :

sudo update-alternatives --config vim

Vim supporte les souris

Le service gpm4) permet l'utilisation de la souris dans le terminal pour sélectionner, copier et coller. Vérifiez que le paquet gpm est installé et modifiez votre fichier ~/.vimrc comme expliqué plus haut pour y insérer :

set mouse=a

Thème de coloration syntaxique

Placez le thème dans ~/.vim/colors et de l’activer dans le .vimrc avec la ligne :

colorscheme nom_du_theme

1) , 2) , 3)
éditeur modal: possède différents modes de fonctionnement commande, insertion
4)
gpm : General Purpose Mouse interface http://www.nico.schottelius.org/software/gpm/
  • vim.1289493894.txt.gz
  • Dernière modification: Le 18/04/2011, 14:45
  • (modification externe)