2008-10-31 149 views
178

Soy adicto a Vim, ahora es mi manera de facto de editar archivos de texto.¿Sugerencias para usar Vim como IDE de Java?

Siendo que es principalmente un editor de texto y no un IDE, ¿alguien ha tenido trucos para facilitar el desarrollo de aplicaciones Java?

Algunas preguntas que tienen:

  • ¿Cómo invocar una tarea experto sin salir de vi?
  • ¿Puedo obtener el código completo?
  • ¿Cómo se resalta la sintaxis?

Cualquier otra cosa (que no sea "Do not do it!") Que deba conocer?

+1

Utilizo netbeans ampliamente en el trabajo, pero para mi servidor personal en casa ... usar NetBeans no funciona bien ya que tendría que hacer mi desarrollo en otra computadora y luego implementarlo. El viaje redondo es demasiado largo. –

+0

@AdamC Entrada de Google aquí ... Como un experto en línea de comandos autoadmitido procedente de Python, creo que la barrera a la entrada para obtener una configuración con un entorno de desarrollo Java * se * aumenta * al necesitar tales programas. Ya tengo que instalar la JVM ... ¿por qué debería uno tener que hacer aún más la instalación solo para tener un mundo hello en marcha? Es solo la disposición general que las personas que provienen de los lenguajes de scripting van a tener cuando primero aprenden Java. – DeaconDesperado

+2

Cuando estoy editando en VIM. Para volver a la consola puede simplemente hacer ctrl + z que pondrá vim en segundo plano y lo regresará a la consola. Luego puede usar el comando fg para devolver vim a su primer plano –

Respuesta

68

Algunos consejos:

  • asegúrese de usar vim (vi mejorado). Linux y algunas versiones de enlace simbólico de UNIX vi a vim.
  • Usted puede obtener la finalización de código con eclim
  • O puede obtener la funcionalidad vi dentro de Eclipse con viPlugin
  • resaltado de sintaxis es grande con vim
  • Vim tiene un buen soporte para la escritura de pequeñas macros como correr ant/maven construye

Diviértete :-)

+6

comando para obtener ayuda sobre el resaltado de sintaxis java. : help java.vim –

+2

Otra forma de obtener la funcionalidad de Vim dentro de Eclipse es [Vrapper] (http://vrapper.sourceforge.net/home/). Tiene la mayoría de las vinculaciones de teclas de Vim y, a diferencia de viPlugin, es gratis. – n1te

+1

¿Qué tal un depurador que admite pasos, pasos, etc.? – Donato

4

Usar vim.^-^(gVim, para ser precisos)

Lo tendrá todo (con algunos complementos).

Btw, snippetsEmu es una buena herramienta para codificar con fragmentos útiles (como en TextMate). Puede usar (o modificar) un paquete prefabricado o hacer uno propio.

20
  • ¿Cómo invoco una tarea de experto sin abandonar vi?

    Maven no es diferente de cualquier otro comando shell:

    :!mvn

    Puede :set makeprg=mvn si ya tiene una asignación de teclas favoritas para :make.

  • ¿Puedo obtener el código completo?

    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 increíblemente útiles.

  • ¿Cómo se resalta la sintaxis?

    Más que suficiente para un resaltador basado en expresiones regulares.

Es posible que desee considerar herramientas para otros fines vim + java, como plantillas de código (snippetEmu — fragmentos predeterminados de chupar, pero personalización brilla), en busca de usos e ir a declaraciones (eclim, grep, ctags), generando getters y setters (java_getset, o eclim), importaciones automáticas (eclim). Es posible que también necesite un shell de java para realizar experimentos rápidos (BeanShell, a.k.a. bsh).

+1

gracias por la sugerencia de BeanShell, no sabía acerca de esa herramienta – GoingTharn

29

He sido usuario de Vim por años. Estoy comenzando a encontrarme a mí mismo iniciando Eclipse ocasionalmente (usando el plugin vi, que, tengo que decirlo, tiene una variedad de problemas). La razón principal es que las compilaciones de Java tardan bastante ... y cada vez son más lentas y más lentas con la incorporación de frameworks de construcción altamente componentes como maven. Así que validar tus cambios suele llevar bastante tiempo, lo que a mí me parece que a menudo lleva a acumular un montón de problemas de compilación que tengo que resolver más adelante, y filtrar a través de los mensajes de confirmación lleva un tiempo.

Cuando tengo demasiados problemas con la compilación, enciendo Eclipse. Me permite hacer pastel de los cambios. Es lento, brutal de usar, y no es tan bueno como un editor como lo es Vim (he estado usando Vim durante casi una década, así que es una segunda naturaleza para mí). 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:

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

Esto hace ^wf en un nombre de clase de una característica muy agradable para navegar por un gran proyecto.

Así que, de todos modos, el flaco es, cuando tengo que agregar un montón de código nuevo, Vim parece ralentizar simplemente debido al tiempo dedicado a buscar problemas de compilación y cosas similares. Sin embargo, cuando necesito encontrar y editar fuentes específicas, Eclipse se siente como un martillo. Todavía estoy esperando el IDE mágico para Vim. Ha habido tres grandes intentos que conozco. Hay un complemento de tipo IDE de viml puro que agrega muchas funciones pero parece imposible de usar. Hay eclim, con el que he tenido muchos problemas. Y hay un complemento para Eclipse que en realidad incorpora Vim. El último parece el más prometedor para el trabajo serio de Java EE, pero no parece funcionar muy bien o realmente integra todas las funciones de Eclipse con el Vim incorporado.

Cosas como agregar una importación que falta con una pulsación de tecla, código de hilight con problemas de tipeo, etc., parece ser invaluable desde su IDE cuando se trabaja en un gran proyecto de Java.

+5

voto para "^ wf" No sabía que hay tal cosa en vim :) –

+3

¿Puede explicarlo? más sobre^wf? ¿Que hace? – user2427

+1

Abre el archivo/clase java (la extensión de nombre de archivo '.java' no es necesaria) debajo del cursor en una nueva ventana dividida si puede encontrar el archivo. Es por eso que ': set path = **' es útil. – exic

7

Sé que esto es un buen número de años más tarde, pero aquí hay algunos plugins interesantes. No he probado ninguno de estos todavía así que YMMV.

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

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

EDIT: Ah una eclim Por cierto, he intentado de vez en cuando, pero la razón me gusta vim es su ligereza. Ejecutar el eclipse incluso en el modo sin cabeza es demasiado mental para mí.

Edit2: He estado usando playframework últimamente y esto probablemente trabajaré con experta construye también:

  • Para la compilación, puede configurar marca de VIM para funcionar experto o en mi caso , ejecute una acumulación script, tee eso a un archivo.

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

"play_compile" es simplemente una secuencia de comandos de compilación. Utiliza SBT por lo que Maven debería funcionar bien aquí. Incluso el javac directo funcionará. De esta manera, se puede usar VIM "s búfer quickfix (: cnext,: clist: cprev, etc).

  • Para saltar alrededor de las clases, yo uso ctrl-p Su hermosa Use más rápido que el eclipse... en saltar archivos.

  • Para saltar métodos, utilizo tagsearch con exuberantes c-tags. Salte en declaraciones de métodos mediante el uso de Ctrl]. volver usando Ctrl-o. no funciona tan bien como eclipse, pero funciona lo suficientemente bien.

  • I u se supertab para completar el código. Javacomplete es bastante lento, así que me quedo con omni-completo. De nuevo, no es tan preciso como el eclipse, pero es rápido y funciona lo suficientemente bien para mí.