Vim roXor, Emacs suX ;o)
Vim est un éditeur à la fois simple et puissant qui s'utilise dans un terminal.Installation et configuration
Sous Debian GNU/Linux, installez le avec la commande:# apt-get install vimPour obtenir de la couleur adaptée aux différents langages, éditez le fichier /etc/vim/vimrc et décommentez la ligne suivante:
syntax onVous pouvez personnalisez vos paramètres dans le fichier ~/.vimrc
Par exemple, pour avoir des couleurs adaptées à un fond plutôt foncé:
set background=darkRemplacez dark par light si vous avez un fond clair.
Utilisation
On lancera son Vim par la commande:$ vimSouvent la commande vi lancera aussi Vim si il est installé.
Je vous conseille d'utiliser le tutoriel de vim en tapant la commande :
$ vimtutor
Reprenons certains points essentiels :
Il existe deux modes: un mode Insertion et un mode Commande.
On bascule en mode Insertion en appuyant sur la touche i (insertion là ou l'on est) ou a (insertion après où l'on est)
Ce mode permet de taper du texte.
On bascule en mode Commande appuyant sur la touche Echap
Ce mode permet de déplacer le curseur, effacer du texte, remplacer du texte, etc.
Quelques commandes utiles en mode Commande:
wfilename enregistre le fichier en tant que filename (avec vérifications)
q quitte le fichier (avec vérifications)
Pour ne pas avoir de vérifications, on ajouter ! à la fin de la commande.
ZZ équivalent à wq
x efface la lettre située sous le curseur.
r remplace la lettre située sous le curseur par une lettre au choix.
o ajoute une nouvelle ligne dw efface le mot courant et le place dans la mémoire tampon.
d$ efface du curseur jusqu'à la fin de la ligne et place cela dans la mémoire tampon.
dd efface la ligne entière et la place dans la mémoire tampon.
u annule la dernière opération.
U annule les opérations sur toute la ligne.
[Ctrl]r annule l'anulation.
. répète la dernière commande effectuée.
p place le contenu de la mémoire tampon là où se trouve le curseur.
cw efface la fin du mot et passe en mode insertion pour corriger.
c$ efface la fin d'une ligne et passe en mode insertion pour corriger.
Souvent, on peut précéder ces commandes d'un nombre qui indiquera combien de fois répéter la commande.
[Ctrl]g donne l'état du fichier et l'endroit où l'on se trouve.
[Ctrl]G envoie le curseur à la dernière ligne du fichier.
Les commandes remplacement de texte sont bien utiles:
:s/old/new remplace le premier old par new sur la ligne où se trouve le curseur.
:s/old/new/g remplace tous les old par new sur la ligne où se trouve le curseur.
:3,7s/old/new/g remplace tous les old par new de la ligne 3 à 7
:%s/old/new/g remplace tous les old par new dans tout le fichier
Attention:
Les caractères spéciaux devant être précédés d'un antislash \ sont ^ . $ * [ ] / \ ~
Les caractères ^ et $ representent respectivement les début et fin de chaque ligne (on peut donc les utiliser pour ajouter quelque chose en début ou fin de chaque ligne)
Pour voir les numéros de lignes, on fera :se nu et pour les enlever :se nonu
Pour exécuter des commandes Shell sans quitter Vim, faire :! "commande shell"
On peut ouvrir plusieurs fichiers en même temps :
$ vim 1.txt 2.txtOn ira d'un fichier à un autre en faisant :previous et :next
Encore plus fort, on peut ouvrir plusieurs fichiers dans la même fenêtre. Pendant qu'on édite un fichier, il suffit de faire:
:split 2.txtOn ira d'un fichier à un autre en faisant Ctrl-w
Toujours plus fort, pour visualiser les différences entre deux fichiers essayez de lancer:
vimdiff 1.txt 2.txtPour afficher quelques détails sur le fichier en cours d'édition, on fera :args
Pour utiliser l'autocomplètement: Ctrl + n
Références:
http://www.vim.org
http://www.freenix.fr/unix/linux/HOWTO/Vim-HOWTO.html
http://ernest.cheska.net/tips-vim/tips-vim.shtml
http://vim.dindinx.net/
http://david.blanchet.free.fr/vim/