Howto vim et projet Java
En première année à l'ÉSI, nous demandons de ne pas travailler avec un IDE car nous estimons qu'il faut d'abord avoir la main sur tout le « processus Java » avant d'utiliser un outil qui fera une grande partie du travail à notre place.
Nous estimons également qu'un bon programmeur est quelqu'un qui a une bonne connaissance d'un IDE et d'un éditeur de code. Pour ce faire nous demandons aux étudiants de travailler avec vim en première.
vim est un éditeur de code très puissant et permet, si on prend la peine de l'appréhender un peu, de coder beaucoup plus vite qu'avec un
cat > foo.java
Quelques conseils pour ceux qui vont coder leur premier projet (sans interface graphique).
- ouvrir deux consoles; une pour les compilations et les exécutions et l'autre pour vim
- ouvrir une seule instance de vim qui contiendra toutes les classes
vim -p src/*.java
(noter le paramètre p qui demande d'ouvrir les fichiers dans des onglets différents)
- si je veux ouvrir une nouvelle classe (que le fichier existe déjà ou pas a peu d'importance)
:tabe MyClass.java
aura pour effet d'ouvrir un nouvel onglet (tab) avec le fichier
:tabs
permet de voir tous les onglets tandis que la combinaison de touchesigt
où i est le numéro de l'onglet permet de se déplacer dans les onglets
:wall
permet de sauver tous les fichiers ouverts tandis que:qall
permet de quitter vim
- grâce à tous ces onglets ouverts, une demande d'autocomplétion d'un mot (un nom de variable par exemple) pas le biais de la combinaison de touches Ctrl-n se fait dans tous les fichiers ouverts et plus seulement dans un seul
- les copier / coller fonctionnent mieux aussi
- pour compiler le projet (dans l'autre console, inutile de fermer vim),
javac src/*.java -d .
fera bien l'affaire
Je donne régulièrement cette explication lorsque je vois des étudiants pester contre vim ou bien essayer d'avancer dans leur projet en quittant constamment vim et ne s'y retrouvant pas dans leurs consoles si tant est qu'ils en ouvrent deux ! Si ceci peut dépanner, autant l'écrire …
Enjoy (comme dirait l'autre, si vous trouvez ce billet intéressant, n'hésitez pas à la partager)
Liens
- Le TD Java de l'ÉSE associé
- Vim7, tabs
- vim
- Crédit photo, Phlearn