Soy adicto a Vim, ahora es mi forma de facto de editar archivos de texto.
Siendo que es principalmente un editor de texto y no un IDE, ¿alguien tiene trucos para que lo haga más fácil al desarrollar aplicaciones Java?
Algunas preguntas que tengo:
- ¿Cómo invoco una tarea maven sin salir de vi?
- ¿Puedo obtener la finalización del código?
- ¿Cómo es el resaltado de sintaxis?
¿Algo más (aparte de "¡No lo hagas!") Que debería saber?
Respuestas:
Algunos consejos:
Que te diviertas :-)
fuente
He sido un usuario de Vim durante años. Estoy empezando a encontrarme iniciando Eclipse ocasionalmente (usando el complemento vi, que, debo decir, tiene una variedad de problemas). La razón principal es que las compilaciones de Java toman bastante tiempo ... y se están volviendo cada vez más lentas con la adición de marcos de compilación altamente componentes como maven. Por lo tanto, la validación de sus cambios tiende a llevar bastante tiempo, lo que para mí parece llevar a menudo a acumular un montón de problemas de compilación que tengo que resolver más adelante, y filtrar los mensajes de confirmación lleva un tiempo.
Cuando me vuelvo demasiado grande de problemas de compilación, enciendo Eclipse. Me permite hacer el trabajo de los cambios. Es lento, brutal de usar, y no es un editor tan agradable como Vim (he estado usando Vim durante casi una década, por lo que es una segunda naturaleza para mí). Lo encuentro para la edición de precisión: la necesidad de corregir un error específico, la necesidad de refactorizar un poco de lógica específica o algo más ... Simplemente no puedo ser tan eficiente en la edición en Eclipse como puedo en Vim.
También un consejo:
Esto hace que
^wf
un nombre de clase sea una característica muy agradable para navegar en un proyecto grande.De todos modos, lo flaco es que, cuando necesito agregar mucho código nuevo, Vim parece ralentizarme simplemente debido al tiempo dedicado a perseguir problemas de compilación y cosas similares. Sin embargo, cuando necesito encontrar y editar fuentes específicas, Eclipse se siente como un mazo. Todavía estoy esperando el IDE mágico para Vim. Ha habido tres intentos importantes que conozco. Hay un complemento viml IDE puro que agrega muchas características pero parece imposible de usar. Hay eclim, con el que he tenido muchos problemas. Y hay un complemento para Eclipse que realmente incorpora Vim. El último parece el más prometedor para un trabajo Java EE realmente serio, pero no parece funcionar muy bien o realmente no integra todas las características de Eclipse con el Vim incorporado.
Cosas como agregar una importación faltante con una pulsación de tecla, código hilight con problemas de tipeo, etc., parece ser invaluable desde su IDE cuando se trabaja en un gran proyecto Java.
fuente
.java
no se necesita la extensión del nombre de archivo ) debajo del cursor en una nueva ventana dividida si puede encontrar el archivo. Por eso:set path=**
es útil.:help ^wf
- al igual que otros vim help¿Cómo invoco una tarea maven sin salir de vi?
Maven no es diferente a cualquier otro comando de shell:
:!mvn
Puede hacerlo
:set makeprg=mvn
si ya tiene una asignación de teclas favorita para:make
.¿Puedo obtener la finalización del código?
Sí, eclim es genial, un puente entre la eficiencia de edición de vim y el conocimiento específico del lenguaje Java de Eclipse.
<C-n>
y<C-p>
no son tan geniales, pero son increíblemente útiles.¿Cómo es el resaltado de sintaxis?
Más que suficiente para un highligher basado en expresiones regulares.
Es posible que desee considerar herramientas para otros fines de vim + java, como plantillas de código ( snippetEmu : los fragmentos predeterminados apestan, pero la personalización brilla), buscando usos y yendo a declaraciones (eclim, grep, ctags), generando getters y setters ( java_getset , o eclim), importaciones automáticas (eclim). También es posible que necesite un shell de Java para experimentos rápidos ( BeanShell , alias
bsh
).fuente
Acabo de subir este complemento Vim para el desarrollo de proyectos Java Maven.
Y no olvide configurar el resaltado si aún no lo ha hecho:
https://github.com/sentientmachine/erics_vim_syntax_and_color_highlighting
fuente
El siguiente resumen me pareció muy útil: http://www.techrepublic.com/article/configure-vi-for-java-application-development/5054618 . La descripción de: make era para hormiga no maven, pero por lo demás es un buen resumen.
fuente
Sé que esto es unos años más tarde, pero aquí hay algunos complementos interesantes. Todavía no he probado ninguno de estos, así que YMMV.
https://github.com/mikelue/vim-maven-plugin
https://github.com/vim-scripts/maven-ide
EDITAR: Oh, por cierto, he intentado eclim de vez en cuando, pero la razón por la que me gusta vim es su ligereza. Ejecutar eclipse, incluso en modo sin cabeza, es demasiado para mí.
EDIT2: He estado usando playframework últimamente y esto probablemente también funcionará con compilaciones de Maven:
Para la compilación, puede configurar la marca de VIM para ejecutar maven o, en mi caso, ejecutar un script de compilación, unirlo a un archivo.
"play_compile" es solo un script de compilación. Utiliza SBT, por lo que Maven debería funcionar bien aquí. Incluso javac directo funcionará. De esta forma, puede usar el búfer de corrección rápida de VIM (: cnext,: clist: cprev, etc.).
Para saltar alrededor de las clases, uso ctrl-p . Es bonito. Úsalo. Más rápido que el eclipse al saltar alrededor de los archivos.
Para saltar métodos, utilizo tagsearch con etiquetas c exuberantes. Salte a las declaraciones de método usando ctrl-]. Regrese usando Ctrl-o. No funciona tan bien como el eclipse, pero funciona lo suficientemente bien.
Yo uso supertab para completar el código. Javacomplete es bastante lento, así que me quedo con omni-complete. Nuevamente, no es tan preciso como el eclipse, pero es rápido y funciona lo suficientemente bien para mí.
fuente
Usa vim. ^ - ^ (gVim, para ser precisos)
Lo tendrás todo (con algunos complementos).
Por cierto, snippetsEmu es una buena herramienta para codificar con fragmentos útiles (como en TextMate). Puede usar (o modificar) un paquete prefabricado o hacer el suyo.
fuente