Meetup Vim Avril 2015

Seconde participation au meetup Vim organisé par Silex Labs(@silexlabs) hébergé chez Mediabox. Il y avait beaucoup plus de participants que la première fois où je suis venu, ce qui nous poussé à changer de salle après le premier talk pour être un peu moins à l’étroit.

Atelier vim chez Media Box

David Foucher (@tyjak), utilisateur de Vim de puis 8 ans, a commencé par une présentation du meetup et du programme de la soirée.

Comme à chaque session un compte rendu est disponible.

Actualités Vim

Concernant les actualités liées à Vim, avec la fermeture prochaine de Google code, les sources de Vim ont été déplacées sur Github.

David a également évoqué cet article d’une personne ayant basculé de Vim vers IntelliJ. Visiblement cette personne devait écrire du java, le changement d’IDE a donc était un peu subi. L’auteur montre qu’avec un plugin nommé IdeaVim on est capable d’émuler certaines fonctionnalités de Vim, la transition n’est pas trop douloureuse. Ce plugin est aussi capable de lire le .vimrc et de récupérer une partie de ses configurations.

Les ressources pour bien débuter

Vim pour les humains

Il y avait quelques débutants dans la salle, nous avons donc eu l’occasion de revoir les plugins de base à avoir dans une configuration basique :

  • NERDTree : pour voir la hiérarchie de fichier
  • CtrlP : pour ouvrir rapidement des fichiers
  • NeoBundle et Vundle : pour gérer l’installation de ses plugins

Nous avons parlé différentes ressources pour monter rapidement en compétences.

Les formations interactive :

Une réponse stackoverflow : Your problem with Vim is that you don’t grok vi

Et enfin un très bon livre que je recommande fortement : Vim pour les humains. Il se lit rapidement, et contient l’essentiel pour construire soi-même un environnement proche de celui offert par Sublime Text. Le livre à aussi l’avantage d’être à prix libre, vous mettez ce que vous voulez.

Les autres ressources évoquées

Les plugins

  • Vim GitGutter : montre les changements effectués (git diff) sur le fichier avec un icône à gauche du numéro de ligne

    Vim GitGutter

  • Gist.vim : permet de manipuler facilement depuis Vim ses Gists hébergés sur Github

  • Vim wiki : permet d’avoir un wiki avec des fichiers textes pour organiser ses idées, ses todo lists…

    Vim wiki

  • calendar-vim : plugin affichant un calendrier pour créer des entrées dans vim wiki

  • vim-startify : change l’écran d’accueil par défaut et propose à la place des raccourci pour ouvrir les derniers fichiers/sessions utilisés.

    vim-startify

  • scratch.vim : un plugin pour prendre facilement des notes temporaires. Selon David qui a testé, le plugin n’est pas idéal. Il ne synchronise pas les notes si on lance plusieurs session Vim différentes.

    scratch.vim

    Personnellement pour le moment j’utilise la méthode de Ben Orenstein dans ses dotfiles qui consiste simplement à avoir un raccourci vers un fichier Dropbox :

    map <Leader>cn :e ~/Dropbox/notes/coding-notes.txt<cr>
  
  • Asciidoc pour formater ses documents

  • Endwise pour les rubyistes pour terminer automatiquement id, do, def

Les autres astuces

:map

Permet de voir tous ses raccourcis clavier

nmap <silent> <leader>se :set spelllang=en spell!<CR>
nmap <silent> <leader>sf :set spelllang=fr spell!<CR>

Permet d’activer la validation orthographique lors de la rédaction d’articles par exemple

:.w !cat - >> file.txt

Permet d’envoyer la ligne sous le curseur dans un autre fichier

:mksession testsession
:source testsession

Vim a un gestionnaire de session assez peu connu. David a fait une petite démo est ça à l’air intéressant si on travaille souvent dans le même environnement, avec la même disposition de fenêtre par exemple. Plus d’info via :help :mksession.

:reg

Permet de voir les registres. Les registres sont une sorte de clipboards plus évolués, on peut copier coller dans différents registres. C’est une fonctionnalité que j’utilise assez peu vu que je me sers de ClipMenu mais ça à l’air vraiment intéressant.

autocmd BufWritePost $MYVIMRC so $MYVIMRC

Permet de recharger la configuration Vim automatiquement lorsqu’on la modifie.

Conclusion

C’était encore un meetup enrichissant, j’ai passé une bonne soirée. Comme d’habitude je repars avec tout un tas de plugins à tester.

Voici quelques liens récapitulatifs :

Written on April 21, 2015