Conseils pour utiliser Vim comme Java Java? [fermé]


Je suis accro à Vim, c'est maintenant ma façon de facto d'éditer des fichiers texte.

Étant donné que c'est principalement un éditeur de texte et non unE, quelqu'un a-t-il des astuces pour me faciliter la tâche lors du développement d'applications Java?

Quelques questions que j'ai:

  • Comment invoquer une tâche maven sans quitter vi?
  • Puis-je obtenir l'achèvement du code?
  • Comment est la coloration syntaxique?

Autre chose (autre que "Ne le faites pas!") que je devrais connaître?

Author: Keith Pinson, 2008-10-31

7 answers

Quelques conseils:

  • Assurez-vous d'utiliser vim (vi amélioré). Linux et certaines versions d'UNIX lien symbolique vi vers vim.
  • Vous pouvez obtenir la complétion de code avec eclim
  • Ou vous pouvez obtenir la fonctionnalité vi dans Eclipse avec viPlugin
  • La coloration syntaxique est excellente avec vim
  • Vim a un bon support pour l'écriture de petites macros comme l'exécution de ant/ maven builds

Amusez-vous: -)

 70
Author: toolkit, 2014-11-06 08:48:00

Je suis un utilisateur Vim depuis des années. Je commence à me retrouver à démarrer Eclipse de temps en temps (en utilisant le plugin vi, qui, je dois dire, a une variété de problèmes). La raison principale est que les constructions Java prennent un certain temps...et ils deviennent de plus en plus lents avec l'ajout de frameworks de construction hautement componentisés comme maven. Donc, la validation de vos changements a tendance à prendre un certain temps, ce qui pour moi semble souvent conduire à empiler un tas de problèmes de compilation que je dois résoudre plus tard, et le filtrage à travers les messages de validation prend un certain temps.

Quand je reçois trop d'une file d'attente de problèmes de compilation, je lance Eclipse. Cela me permet de faire du gâteau-travail des changements. C'est lent, brutal à utiliser, et pas aussi gentil d'un éditeur que Vim (j'utilise Vim depuis près d'une décennie, donc c'est une seconde nature pour moi). Je trouve pour l'édition de précision-besoin de corriger un bogue spécifique, besoin de refactoriser un peu de logique spécifique, ou autre chose...Je ne peux tout simplement pas être aussi efficace à édition dans Eclipse comme je peux dans Vim.

Aussi un conseil:

:set path=**
:chdir your/project/root

Cela fait de ^wf sur un nom de classe une fonctionnalité très intéressante pour naviguer dans un grand projet.

Donc de toute façon, le maigre est, quand j'ai besoin d'ajouter beaucoup de nouveau code, Vim semble me ralentir simplement en raison du temps passé à traquer les problèmes de compilation et autres choses similaires. Lorsque j'ai besoin de trouver et de modifier des sources spécifiques, Eclipse ressemble à un marteau de traîneau. J'attends toujours l'E magique pour Vim. Il y a été trois tentatives majeures que je connais. Il y a un plugin de type vim viml pur qui ajoute beaucoup de fonctionnalités mais semble impossible à utiliser. Il y a eclim, avec lequel j'ai eu beaucoup de problèmes. Et il y a un plugin pour Eclipse qui intègre réellement Vim. Le dernier semble le plus prometteur pour un vrai travail Java EE sérieux, mais il ne semble pas très bien fonctionner ou intégrer vraiment toutes les fonctionnalités d'Eclipse avec le Vim intégré.

Des choses comme ajouter une importation manquante avec une frappe, le code hilight avec les problèmes de frappe, etc., semblent être inestimables de votreE lorsque vous travaillez sur un grand projet Java.

 30
Author: Arjan Tijms, 2013-07-22 08:22:29
  • Comment invoquer une tâche maven sans quitter vi?

    Maven n'est pas différent de toute autre commande shell:

    :!mvn

    Vous pouvez :set makeprg=mvn si vous avez déjà un mappage de clé favori pour :make.

  • Puis-je obtenir l'achèvement du code?

    Oui, eclim est génial, un pont entre l'efficacité d'édition de vim et la conscience spécifique au langage Java d'Eclipse.

    <C-n> et <C-p> ne sont pas si grande, mais étonnamment, utile.

  • Comment est la coloration syntaxique?

    Plus que suffisant pour un surligneur basé sur regex.

Vous voudrez peut-être envisager des outils pour d'autres fins vim+java, comme les modèles de code ( snippetEmu - les extraits par défaut sont nuls, mais la personnalisation brille), la recherche d'usages et les déclarations (eclim, grep, ctags), la génération de getters et setters ( java_getset, ou eclim), les importations automatiques (eclim). Vous pourriez aussi avoir besoin d'une java shell pour des expériences rapides (le BeanShell , alias bsh).

 21
Author: ngn, 2008-11-02 19:56:19

Je viens de télécharger ce plugin Vim pour le développement de projets Java Maven.

Et n'oubliez pas de définir la mise en surbrillance si vous ne l'avez pas déjà fait:

Https://github.com/sentientmachine/erics_vim_syntax_and_color_highlighting

 9
Author: ikky, 2013-12-27 08:30:13

J'ai trouvé le résumé suivant très utile: http://www.techrepublic.com/article/configure-vi-for-java-application-development/5054618. La description de :make était pour ant pas maven, mais sinon un joli résumé.

 8
Author: Kevin, 2011-05-25 19:21:47

Je sais que c'est pas mal d'années plus tard, mais voici quelques plugins intéressants. Je n'ai pas encore essayé l'un ou l'autre donc YMMV.

Https://github.com/mikelue/vim-maven-plugin

Https://github.com/vim-scripts/maven-ide

EDIT: Oh an BTW, j'ai essayé eclim de temps en temps, mais la raison pour laquelle j'aime vim est sa légèreté. Exécuter eclipse même en mode sans tête est tout simplement trop de levage mental pour moi.

EDIT2: J'utilise playframework dernièrement et cela fonctionnera probablement aussi avec les builds maven:

  • Pour la compilation, vous pouvez configurer make de VIM pour exécuter maven ou dans my cas, exécutez un script de construction, ajoutez-le à un fichier.

    autocmd Filetype java setl makeprg=play_compile
    autocmd Filetype java setl efm=%A\ %#[error]\ %f:%l:\ %m,%-Z\ %#[error]\ %p^,%-C%.%#
    

"play_compile" est juste un script de compilation. Il utilise SBT donc Maven devrait fonctionner très bien ici. Même javac direct fonctionnera. De cette façon, vous pouvez utiliser le tampon quickfix de VIM (:cnext, :clist: cprev, etc.).

  • Pour se déplacer rapidement dans les classes, j'utilise ctrl-p. Ses belles. Utiliser. Plus rapide qu'eclipse en sautant autour des fichiers.

  • Pour sauter autour des méthodes, j'utilise tagsearch avec des balises c exubérantes. Aller dans les déclarations de méthode en utilisant ctrl -]. Revenir en arrière en utilisant Ctrl-o. Ne fonctionne pas aussi bien qu'eclipse, mais cela fonctionne assez bien.

  • J'utilise superbalance pour la complétion de code. Javacomplete est assez lent, donc je m'en tiens à omni-complete. Encore une fois, pas aussi précis que eclipse, mais c'est rapide et fonctionne assez bien pour je.

 8
Author: critium, 2013-10-31 15:36:09

Utilisez vim. ^-^ (gVim, pour être précis)

Vous aurez tout (avec quelques plugins).

Btw, snippetsEmu est un bon outil pour coder avec des extraits utiles (comme dans TextMate). Vous pouvez utiliser (ou modifier) un paquet pré-fabriqué ou créer le vôtre.

 5
Author: Berzemus, 2008-10-31 11:19:18