Je viens de mettre mon vimrc en ligne, il est abondamment commenté et, je l'espère en tout cas, pourra en intéresser certains. Il est disponible sur ce blog et sur http://dotfiles.org/.
Pré-requis :
- Il n'y a aucun test sur la version de vim utilisée, tout doit marcher avec une version de vim >= 7.0, avec une version plus ancienne, vous aurez certainement des erreurs au lancement.
- Ce vimrc contient du code python (détails ci-dessous), vous devez donc avoir un vim compilé avec le support de python. C'est le cas des paquets vim-gnome et vim-nox sous debian.
Quelques fonctionnalités (je n'explique pas tout ici car dans la plupart des cas, je crois que les commentaires présents dans le fichier sont suffisants) :
Le mode 256 couleurs
Cette ligne : set t_Co=256 (placée avant le choix du thème de couleurs) active le mode 256 couleurs, cela suppose plusieurs choses:
- Vous utilisez gvim ou un terminal qui supporte ceci (c'est le cas de xterm et gnome-terminal sous debian, et surement d'autres ...).
- Pour xterm/gnome-terminal, vous devez avoir ceci dans votre bash/zshrc/machinrc (avec xterm ou gnome-terminal en tout cas, je vous laisse chercher si vous utilisez autre chose
) :export TERM=xterm-256color
- Si vous utilisez vim dans un screen, vous devrez ajouter ceci à votre .screenrc pour qu'il utilise le mode 256 couleurs:
term screen-256color
# Autorise le gras - nécessaire (?!)
attrcolor b ".I"
# Réglages couleurs. AB = background, AF=foreground
termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'
defbce "on"
Comme colorscheme en 256 couleurs, j'utilise personnellement soit zenburn, soit xoria256.
La correction orthographique
Pour le support du français, il vous faudra un dictionnaire en français. Vous pouvez télécharger les fichiers nécessaires sur le ftp de vim et les placer dans $VIMHOME/spell/ :
- ftp://ftp.vim.org/pub/vim/runtime/spell/fr.utf-8.spl
- ftp://ftp.vim.org/pub/vim/runtime/spell/fr.utf-8.sug
Utilitaires pour le développement en php et python
Les variables makeprg et errorformat sont renseignées pour le php et le python. Concrétement, ceci signifie que si vous êtes en train de travailler avec l'un de ces deux langages, vous pouvez vérifier la syntaxe du fichier en tapant :make en mode commande, le curseur se positionnera automatiquement sur une éventuelle erreur de syntaxe. S'il y en a plusieurs, vous pouvez en avoir une liste formatée en tapant :clist .
Ce bout de code:
python << EOF
def set_path_python() :
import os, sys, vim
for p in sys.path:
if os.path.isdir(p):
vim.command(r'setlocal path+=%s' % (p.replace(" ", r"\ ")))
EOF
autocmd FileType python python set_path_python()
renseigne le "path" dans lequel vim peut aller chercher les fichiers python. Ceci vous autorise à ouvrir le fichier sous le curseur avec gf.
Cette astuce vient de http://vim.wikia.com/wiki/Automatically_add_Python_paths_to_Vim_path, wiki que je vous invite à visiter, par ailleurs, il contient plein de bonnes choses ! 
L'autocomplétion
Elle est activée pour les langages suivants: html, xml, css, php, javascript, python, et c. je lui ai affecté le raccourci clavier Ctrl-espace au lieu de Ctrl-X Ctrl-O qui fait mal aux doigts ...
Les plugins
Veuillez noter que les raccourcis clavier que j'indique ci-dessous sont personnalisés, ils fonctionneront avec mon vimrc, ce ne sont pas forcément ceux par défaut. <leader> correspond à "!" avec ma config, par défaut, il s'agit d'un "\".
- Taglist, nécessite l'utilitaire ctags (présent dans le paquet exuberant-ctags dans debian). Permet de naviguer dans le code source (<leader>t pour cacher/désactiver les tags).
- FuzzyFinder, permet de naviguer dans la liste de buffers ouverts (avec F3) ou dans l'arborescence de fichiers (avec F4).
- TaskList,génère une liste des TODO et FIXME laissés dans le code, et permet de passer facilement de l'un à l'autre (raccourci clavier: <leader> l).
- Php_Doc, 'K' lance une recherche dans le manuel php avec le mot sous le curseur.
- Align, permet d'aligner verticalement des blocs de texte, voici un bon exemple d'utilisation sur le blog des salariés d'easter eggs.
Quelques ressources
- http://vim.org évidemment mais aussi http://vim.wikia.com/.
- Les slides et les fichiers de la conférence "Vim for PHP programmers" sur le blog d'Andrei Zmievski
- Et probablement la meilleure ressource que j'ai jamais lue sur vim : A Byte of Vim