it-swarm-es.com

¿Cuáles son las mejores herramientas de programación de propósito general para complementar VIM?

He estado usando VIM como mi editor de texto por un momento ahora y siento que estoy tomando el largo camino para hacer nada. Utilizo CTAGS para etiquetar mi base de código para la navegación y uso GREP (aunque ineficientemente) para encontrar dónde se utilizan ciertos métodos. Pero tengo la sensación de que hay algunas herramientas muy útiles que no sé sobre eso podría hacerme más productivo.

¿Cuál es la mejor pila de software que podría usar para la programación general que complementaría VIM? ¿Cómo navega una base de código, haga funcionar, presione los cambios a su sistema de control de origen, etc.? ¿Tienes una segunda consola abierta junto a VIM?

22
Louis Salin

Encuentro a Nerdtree indispensable para navegar a través de mi base de código. Junto a eso, invirtiendo algún tiempo en convertirse en competente para moverse por los buffers/Windows, realmente vale la pena.

5
aryeh

Sea cual sea su idioma que desee usar una característica llamada CTAGS que permite explorar las definiciones de origen. Esto requiere una herramienta externa para generar archivos Etiquetas utilizados por VIM para descubrir las ubicaciones de varias definiciones de código dentro de un proyecto.

Obtenga la herramienta exuberante ctags , funciona para muchos de los muchos idiomas y es V que se puede usar.

de VIM :help ctags

Ctags creará un índice de todos los identificadores en un árbol de origen. Luego, puede usar los comandos de etiqueta para navegar alrededor de su árbol de origen. ver :help tag-commands. Lo más fácil es colocar el cursor sobre una palabra clave y presionar CTRL-]. Para volver a donde viniste de prensa CTRL-T

Más allá de esto, es posible que desee ver algunos de los VIM consejos y mejoras discutidas aquí , es una discusión muy completa de algunas de las cosas que se puede hacer para mejorar Una experiencia de Vimmer.

4
chillitom

Vim es una herramienta muy poderosa, estoy seguro de que todos ustedes ya lo saben. Comenzarás a aumentar un aumento de productividad utilizando VIM dentro de un par de semanas. Pero nunca saturará su conocimiento de Vim. Entonces, yo, por ejemplo, siempre estoy buscando formas nuevas y eficientes de hacer las cosas en Vim. Hay un tipo llamado Derek Wyatt Quién ha hecho algunos excelentes screencasts en el uso del VIM, y también en los complementos que él usos.

Algunos de los complementos que yo uso.

  1. Comando-T Esto hace que navegue por archivos sea una brisa, y es Muy inteligente .

    El complemento Comando-T proporciona un mecanismo intuitivo extremadamente rápido para abrir archivos con un número mínimo de pulsaciones de teclas. Se llama "Command-T" porque está inspirado en la ventana "Ir a Archivo" unido a Command-T en el compañero de texto.

  2. FuzzyFinder Uso esto en su mayoría a buffers de Broswer y cambie el directorio actual.

    FuzzyFinder proporciona formas convenientes de llegar rápidamente al búfer/archivo/comando/marcador/etiqueta que desee. FuzzyFinder busca con el patrón borroso/parcial al que convirtió un patrón introducido

  3. Nerdtree Este es el mejor complemento del navegador de archivos para VIM.

    El Nerd Tree le permite explorar su sistema de archivos y abrir archivos y directorios. Presenta el sistema de archivos en la forma de un árbol que manipula con el teclado y/o el mouse. También le permite realizar operaciones de sistema de archivos simples.

  4. xptemplate El mejor complemento de plantillas en el mundo.

    Motor de fragmentos de código para VIM, con biblioteca de fragmentos. XPTEMPLINE le permite escribir códigos de una manera suave, rápida y cómoda.

  5. Rails.VIM Si lo hace Rails Stuff Dev, esto es indispensable.

    El compañero de texto puede ser la última moda para desarrollar Ruby en Rails aplicaciones, pero Vim es para siempre. Este plugin ofrece las siguientes características para Ruby en Rails Desarrollo de aplicaciones.

  6. nerdcommenter hace fácil comentar en cualquier tipo de código.

Y esos son solo algunos de los complementos que yo uso, para descargar todos los complementos con mi VIMRC, VERIFICACIÓN MI DOTFILES

4
Khaja Minhajuddin

mi favorito es cscope. Si ha compilado VIM con soporte de CSCOPO, puede usar los comandos de CSCOPO de VIM. p.ej. Buscando archivos incluidos, funciones llamadas por XYZ Function, etc. Lo he intentado con un repositorio de código fuente muy grande. Esto ayuda mucho.

http://cscope.sourceforge.net/cscope_vim_tutorial.html

3
Hemant

Si está programando en cualquiera de los idiomas compatibles con GCC (C, C++, Java, Fortran), entonces Clewn es un gran complemento que integra el depurador GDB en VIM. De hecho, he encontrado que es una de las mejores interfaces para GDB que hay.

1
chillitom

Por lo general, creo una sesión screen para cada proyecto. VIM está en la ventana 0, y uso la ventana 1 para una sesión de shell. Si estoy codificando en un idioma que tiene un decente REPL, generalmente ejecuto eso en la ventana 2. Por supuesto, no necesita screen para hacer esto; usted podría Hágalo con diferentes ventanas de terminales o con pestañas en un terminal multitabil. No encuentro screen Para ser más estable que otras alternativas: si su aplicación de terminal se bloquea, simplemente puede iniciar otro terminal y volver a conectarse a su actividad inmóvil screen SESIÓN. screen también es muy rápido para navegar una vez que lo aprenda (al igual que VIM en sí mismo).

En su mayoría termino usando la sesión de Shell para las actividades de control complicadas de la versión, como rebasar o fusionar: las cosas más simples se pueden hacer desde la línea de comandos de VIM (por ejemplo, :!git commit % -m 'Added info about Pantalla .') O usando el fugitivo complemento. ¡Encuentro el :Gmove (Cambiar el nombre del búfer actual tanto en VIM como en el Índice GIT) y :Gdiff (Invocar Vimdiff en el búfer actual con un punto anterior en su historial) particularmente útil. También puede hacer cosas como construir un mensaje de confirmación en un búfer de scratch, copiando en texto de varias partes de su código y luego comprometiéndose con :%!git commit -F /dev/stdin

También usaré la sesión de shell para las pruebas funcionales/de integración si eso es aplicable a lo que esté trabajando, por ejemplo, si estoy escribiendo una utilidad de línea de comandos.

La funcionalidad Quickfix de VIM es útil para la depuración, aunque parece que hay un complemento diferente para cada idioma con el que quiera que desee trabajar. También parecen usar una variedad de técnicas de invocación, mapeo para funcionar las teclas o a las secuencias de teclas que comienzan con \ O ,, O para los comandos personalizados, o al ser invocado automáticamente cuando se guarda un búfer. Hasta ahora no me he molestado realmente en suspender esto, y simplemente lea la prueba de la unidad o los resultados de la pelusa en un búfer de scratch usando por ejemplo. :r !python -m doctest whatever.py. Modifique el código, vuelva a cambiar al búfer de scratch, u para deshacer, luego presione :r Y la flecha hacia arriba (la mayor parte del tiempo) para recuperar ese comando. Pero puede valer la pena para buscar un complemento para esto, dependiendo del idioma en el que trabaje.

Para los idiomas compilados populares como C, Java, etc., :make Hará una compilación, y el soporte para la lista QuickFIX está bien establecida. ¿Entonces puede hacerlo :copen Para mostrar el búfer de Quickfix. Mostrará una lista de errores, uno por línea; golpe Enter En una línea saltará su otra ventana a ese punto en ese archivo.

Si está trabajando con múltiples proyectos a la vez, puede hacer :lmake Para organizar una lista de errores que se almacenarán en la lista de ubicación : Esto es como la lista QuickFIX, pero está asociada con una sola ventana en lugar de ser un singleton dentro de su instancia de VIM. :lopen Abrirá una lista de ubicación para la ventana actual.

0
intuited