Compiler le code Java dans Vim plus efficacement
Je viens d'une Éclipse de fond, mais j'aime Vim comme éditeur de texte. Je suis actuellement à l'essai avec Vim comme un IDE Java. Actuellement je fais ça pour compiler:
! javac MyClass.java
suivie par
! java -cp . MyClass
Si j'ai des erreurs de compilation, je dois retourner à la sortie du compilateur à l'aide de !
et manuellement sauter à chaque ligne qui a généré une erreur. Et dès que j'ai commencer à ajouter d'autres classes, je dois compiler chacun d'eux séparément.
Il doit y avoir un moyen plus efficace que cela. Sous mon inefficace Vim flux de travail, je peux obtenir des trucs fait plus rapidement dans un IDE graphique, qui bat le but de l'utilisation de Vim pour moi.
Je voudrais être en mesure de saisir quelque chose comme :compile
dans la classe contenant ma principale méthode pour compiler toutes mes sources et être présenté avec un double écran de la liste de messages d'erreur. Que recommanderiez-vous?
Liés, mais pas pour moi personnellement:
Mise à jour: Mon résumé de cette question est une réponse distincte.
- Êtes-vous au courant qu'il ya Vim plugins pour Eclipse et même Éclipse "plugins" pour vim: vrapper.sourceforge.net/home - eclim.org - google.de/search?q=eclpise+vim
- À mon humble avis, Si vous voulez modifier le texte, utilisez Vim, cependant, si vous souhaitez développer du code, utiliser un outil qui a été conçu pour développer du code, une IDE. Pouvez-vous utiliser eclipse et vim?
- Rendre des fichiers ou (java!) Nant les fichiers viennent à l'esprit.
- J'ai eu des expériences négatives avec Eclim. Je pourrais chercher dans Eclipse plugins qui fournissent Vim fonctionnalité à l'intérieur de l'IDE si. @Pierre: j'ai lu quelque chose à propos d'une personne qui a optimisé leur Vim flux de travail, si bien qu'ils étaient tout aussi ou plus productifs que leurs collègues qui utilisent graphique IDEs.
- la création de ces fichiers automatisée par Vim? Eclipse peut construire des projets sans aucune configuration au préalable (à part peut-être pour certains paramètres par défaut).
- Au lieu de :copen vous devriez envisager d'utiliser :cwindow. :cwindow ne s'ouvre que le "errorview" si l'une des erreurs de compilation occoured.
- Salut @Pieter; pouvez-vous déplacer votre modifier expliquant comment vous avez utilisé les réponses dans une réponse par lui-même? Il ressemble à une information utile, mais il ne devrait pas être inclus dans la question; il est parfaitement légitime pour vous de poster une réponse. Merci.
- J'ai édité le post et a créé la réponse.
Vous devez vous connecter pour publier un commentaire.
Ici le vim article de wiki pour la compilation avec javac.
autocmd Filetype java set makeprg=javac\ %
etset errorformat=%A%f:%l:\ %m,%-Z%p^,%-C%.%#
à votre fichier vimrc et puis dans votre classe principale appel::make
MyClass
dans MyClass.java, j'obtiens impossible de trouver le symbole erreurs. Je vois que votre vim règle semble appelerjavac
, mais il ne semble pas générer le *.classe les fichiers nécessaires pour que Main.java pouvez utiliser Maclasse.Par la demande, j'ai posté mes plats à emporter à partir de cette question une réponse distincte.
Voici comment j'ai utilisé tous les conseils.
Ajouter à
~/.vimrc
:F9 pour compiler, F10/F11 pour passer d'erreurs.
si vous n'utilisez pas n'importe quel paquet dans votre classe java, puis
carte F5 dans le .vimrc fichier pour automatiser le build
Avec les Makefiles, vous pouvez utiliser quelques très générique des choses:
D'autre part, vous auriez probablement amende de faire
Carte quelques clés pour
:cnext
et:cprevious
pour naviguer rapidement les erreurs.Utilisation
:colder
/:cnewer
pour revenir au plus tôt/tard quickfix listes. Quickfix va se rappeler où dans le quickfix pile vous avez été pour un quickfix liste.Si vous utilisez linux(utiliser bash), voici ma configuration:
pour compiler et exécuter la classe avec votre fichier principal, il suffit d'inclure ceci dans votre fichier vimrc
Permettez-moi de vous lancer à travers la façon dont ce code fonctionne. Lorsque vous appuyez sur le leader de la touche suivi de a et c (\ac), les modifications de code dans le répertoire de l'actuel fichier qui est ouvert dans vim(probablement votre principal). Ensuite, le code se compile yourfile.java (%:t). Enfin, le code s'exécute principal de votre fichier monfichier (%:t:r). < CR > signifie un retour chariot, qui est l'équivalent de l'entrée. Cette approche permettrait de travail pour élaborer des projets avec plusieurs classes en tant que bien, parce que vous pouvez ajouter plus de code à la ligne ci-dessus pour la faire compiler d'autres classes avant l'exécution principal.