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:

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

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 ;-)

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.

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. :)

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.