2012-03-31 17 views
11

Estoy buscando recomendaciones sobre el uso de VIM como un IDE. En general, código en varios lenguajes de programación, incluidos C, C++, ensamblador, MATLAB, Maple, scripts BASH, por nombrar algunos.VIM como un IDE - Sugerencias

En general, me gusta usar un único IDE para la mayor parte de mis proyectos en aras de la coherencia, y he descubierto que realizo alrededor del 90% de toda mi codificación en VIM, y de vez en cuando uso Eclipse para ciertos proyectos en C/C++ (es decir, proyectos que las personas ya han reunido como un proyecto de Eclipse, o proyectos de PIC24/32 de www.microchip.com).

Ya estoy muy familiarizado con la funcionalidad básica de VIM (Windows vs buffers, manipulación de texto, scripting) y me gustaría usarlo como mi IDE principal. Ya he tomado algunos consejos desde aquí: http://vim.wikia.com/wiki/Use_Vim_like_an_IDE#Writing_Code

que ya utilizan el plugin nerdTree la exploración de directorios en un proyecto, etc, pero tengo que hacer algo acerca de la finalización de código y la resolución símbolo, como los que son mis dos mayores preocupaciones

  1. resolución símbolo
    • que tienen cierta experiencia en el uso de C-tags, y quería una sugerencia sobre lo que debería usar si estoy trabajando con una gran base de código que cambia con frecuencia. Los proyectos en los que trabajo generalmente están extrayendo archivos de cabecera de al menos una docena de otros proyectos, y me gustaría poder saltar al archivo donde se define rápidamente una función, constante o macro (es decir, como CTRL-G función en Eclipse, "saltar a definición"), así como obtener rápidamente una lista de todas las llamadas/referencias a una función/macro/constante/etc. (es decir, como la función CTRL-SHIFT-G en Eclipse, "Mostrar todas las referencias en proyecto o directorio de trabajo actual ").
  2. finalización Tab
    • Una de las características que me gustan en Visual Studio y Eclipse, por ejemplo, es cuando escribo en nombre de una variable (es decir: puntero a struct) y resuelve los nombres y tipos de todos los miembros de la estructura y me da una lista de finalización de pestañas para elegir el miembro apropiado. También señalan cuando he usado incorrectamente "." vs "->" para el acceso de miembros. Probé SuperTab en VIM, pero no pude hacerlo funcionar. También quiero la función para rellenar la ficha de usar las mismas C-etiquetas como la generada por el símbolo resolución complemento
  3. Salida de gestión de acumulación
    • La última preocupación mía es tener una lista generada automáticamente de las advertencias de construcción y construir errores Cuando, por ejemplo, simplemente ejecuto "make all" en el indicador de la línea de comandos, me duele tener que leer las listas de códigos para encontrar manualmente todas las advertencias de compilación.

me di cuenta que es mucho pedir, y que siempre sólo pudiera repliegue a Visual Studio o Eclipse, pero realmente quiero un simple editor de modal consola con capacidad multiplataforma para todos mis necesidades de desarrollo, y ninguno de los principales IDE están por ahí llenando esta necesidad.

Gracias a todos de antemano.

+0

posible duplicado de [¿Cómo puedo hacer VIM un IDE de pleno derecho] (http://stackoverflow.com/questions/7206469/how-can-i-make-vim- a-full-fledged-ide) –

Respuesta

7

Yo creo (pero no lo he comprobado) que satisface Eclim # 1 y # 2 mientras estoy seguro de que Syntastic satisface el # 3. Más cosas de interés:

Y es usted consciente de omnicompletion a través de Ctrl -p y Ctrl-n (prev y next) en el modo de inserción? Eso no es completar el código, pero con frecuencia hace el trabajo.

+0

+1: Uso eclim, esto es ** realmente ** un cambio de vida para mí. Definitivamente satisface los números 1 y 2. También es compatible con la refacturación. (Utilizo eclim para Java solo ahora, para C/C++ utilizo ctags + Indexer http://goo.gl/gkFPp, pero eclim también puede funcionar con otros idiomas. Simplemente no lo he probado todavía) –

3

Para la parte de autocompletado (punto 2), estoy utilizando con dominio clang_completo.

Para una instalación rápida y referencia, trate de esta página: http://zwiener.org/vimautocomplete.html

EDIT: esto es para C, C++ y sólo Objective-C.

2

utilizo la siguiente configuración en vim:

zipped file

Se ha basado autocompletar en la lista de etiquetas, ctags, comentarista empollón y algunos más plugins.

creo que sirve .. :)

+0

Su el enlace está muerto. – Bobby

+1

Lo siento, me funciona. Lo intenté en un navegador diferente también. De todos modos, intente esto: [j.mp link] (http://j.mp/rajat_vim) o [este] (https://www.evernote.com/shard/s134/sh/ffc9b220-54bc-42a0-8652 -a18b249a28aa/c706d140f6f00868ed1b5621028a308e) – prongs

+1

Tu último enlace funciona, gracias. Además, deje de usar URL-Shorteners [estamos teniendo un momento difícil] (http://meta.stackexchange.com/questions/99136/let-me-flag-that-for-you-url-shortener-cleanup) [deshacerse de ellos] (http://meta.stackexchange.com/questions/64450/ban-url-shorting-services). – Bobby

0

He estado usando Vim como un IDE para alrededor de un año. Toda mi personalización es online at github.

Dicho esto, no creo que un principiante de Vim deba comenzar a usar vim de esta manera; más bien, creo que el principiante de Vim debería aprender vim de forma incremental. Los únicos cambios que creo que son tan esenciales les haría desde el principio son:

  1. Reasignar ESC para JK
  2. interruptor: y;
  3. Conjunto líder clave a,
+0

Bastante, pero noté que ya lo uso para el 90% de mis proyectos, por lo que no calificaría como un principiante de rango. – DevNull

+0

@Dogbert ¡Lo siento, no leí la pregunta con cuidado! – jdg

+0

Sin sudar. ¡Aclamaciones! – DevNull