Vim
Ca fait un petit moment déjà que j'essaie de me créer un environnement de développement distant, c'est à dire que je me connecte sur une machine en ligne pour faire ce que j'ai à faire. C'est assez sympa d'utiliser le protocol NX, il marche bien en plus. Mais je me suis très vite trouné vers une solution entièrement sur un terminal.
Je zappe tout ce qui est configuration de screen, mc, finch, irssi etc.. Je vais vous présenter ma personnalisation de vim, un éditeur de texte.
Présentation
Vim est un éditeur de texte que j'utilise dans un terminal (écran noir et tout), utilisable entièrement sans la souris, avec plein de raccourcis clavier :)
De base, il n'y a pas grand chose à part le texte qu'on veut éditer. Le but de cet article est justement de montrer la personnalisation que j'en ai fait. Je n'explique pas comment utiliser le logiciel. Comme point de départ, vous pouvez lire la présentation sur wikipedia : http://fr.wikipedia.org/wiki/Vim.
On peut bien entendu afficher les numéros de ligne, choisir la taille des tabulations, utiliser des espaces au lieu des tabulations, indenter automatiquement, ouvrir plusieurs fichiers dans des onglets, afficher les caractères non imprimables, personnaliser les couleurs et les raccourcis clavier, etc.
L'explorateur de fichiers
Pour afficher un panneau latéral avec un explorateur de fichier dedans, j'ai utilisé un plugin : NERD Tree.
Voici ce que j'utilise principalement:
- On peut montrer/masquer les fichiers cachés
- On peut créer/copier/effacer/renommer un dossier/fichier
- On peut ouvrir un fichier dans un nouvel onglet
- Les dossiers s'affichent en premier
L'explorateur de code
Une chose essentielle qui m'évite de scroller comme un malade, c'est un panneau qui me résume les méthodes existantes du fichier en cours d'édition. Pour celà, il y a le plugin : taglist.
Ce dernier se sert de ctags pour parser les fichiers et faire ressortir les mots clés suivant le langage. Je me suis d'ailleurs fait mes propres règles ctags en expression régulière pour le CSS, pour avoir en mot clé des sections fait par commentaire. Et j'ai récupéré des règles pour l'actionscript. C'est assez simple de rajouter et modifier des langages.
Evidemment, ce panneau ne fait pas que lister les mots clés, on peut l'utiliser pour aller directement à la ligne correspondante.
Raccourcis vers d'autres fichiers
Il y a un plugin que j'ai du mal à manipuler, c'est Source Explorer qui permet entre autre d'ouvrir un fichier à partir d'un mot sous le curseur, par exemple l'origine d'une méthode d'une class qui se trouve dans un fichier lointain. Ca a l'air super, mais j'arrive trop souvent à faire planter vim en enchainant des raccourcis clavier.
En tout cas, si on s'en sert bien, c'est pratique :)
Autocompletion
Vim possède depuis 2006 (si j'ai bien lu) la fonction d'autocompletion. Il peut afficher un petit menu déroulant par dessus le code avec les mots qui vont bien.
Il marche aussi avec ctags sur tout un projet. C'est à dire qu'il peut afficher des mots venant d'autres fichiers, si on s'est occupé de créer un index ctags à la racine du projet. Parfois, j'arrive à avoir le chemin du fichier d'où provient le mot, je ne sais pas pourquoi je ne l'ai pas toujours.
Conclusion
Avant de faire cet article, j'ai passé pas mal de temps dans mon environnement, à manipuler des fichiers, utiliser subversion, ant, ftp etc. Ca demande un peu d'apprentissage au début, mais je m'y suis fait.
Voici mes fichiers de configuration:
Et mon pense bête: http://doc.neolao.com/vim.wiki
PS: remarquez que je suis en résolution 1024x600, sur un laptop 10 pouces, le eeePC 1000H qui a un super clavier :)




Commentaires
1. Le lundi, mai 25 2009, 09:57 par Armetiz
Faut avouer que c'est la classe.
2. Le lundi, mai 25 2009, 10:11 par avetis.kazarian
+1
3. Le lundi, mai 25 2009, 11:04 par lipki
Une autre vision de vim, pour une fois ...
C'est très intéressant, mais sa fait encore un peut peur a un fan du clicodrome comme moi.
4. Le mardi, mai 26 2009, 00:53 par Daniel
« un éditeur de texte que j'utilise dans un terminal (écran noir et tout) »
Un terminal n'est pas forcément sur fond noir !
Les miens sont tous en texte noir (ou coloré) sur fond blanc, c'est mieux pour mes vieux yeux ;-)
5. Le mardi, mai 26 2009, 00:57 par Daniel
Bon, si je comprends bien, à la prochaine étape tu remplace eclipse par l'équivalent en mode texte et tu passes à emacs ;-)
6. Le mardi, mai 26 2009, 07:52 par neolao
Pour moi, un terminal, c'est noir. Et puis ça fout la merde avec les couleurs des fois.
Et sinon, je n'ai déjà plus Eclipse. Et j'ai choisi vim parce qu'on m'a dit de le prendre par rapport à emacs :p
Quand j'aurai à nouveau une bonne machine, j'remettrai Eclipse.
7. Le mardi, mai 26 2009, 22:30 par Armetiz
La performance est le soucis du pauvre... Dur la vie :p
8. Le mardi, juin 2 2009, 15:16 par oz
Marrant, j'utilise a peu pres les memes plugins. A part SourceExplorer qui a l'air interessant ; je regarderai ca a l'occasion.
Sinon d'autres petits plugins pratiques:
- autoclose.vim: ferme automatiquement tout ce qui est parentheses, crochet, quotes, etc.
- xml.vim: meme chose que autoclose mais avec des balises X(HT)ML.
- fuzzyfinder, et fuzzyfinder_textmate: qui evitent de chercher un fichier, indispensable une fois qu'on y a goute.
- surround.vim: pour encadrer tout et n'importe quoi avec tout ou n'importe quoi sans trop se poser de questions... et vice versa.
- rails.vim: parce que c'est le Bien si tu dois utiliser Ruby on Rails.
C'est interessant comme post, il faudrait que je nettoie un peu mon .vim/ et que je le mette sur github pour faire la meme chose. :)
9. Le mercredi, juillet 22 2009, 22:40 par Olivier
Expliquer comment se passe l'installation des plugin aurait été sympa
10. Le jeudi, juillet 30 2009, 15:10 par DraZel
VIM > Emacs