¿Cómo se puede utilizar vim para desarrollar proyectos de software más grandes?

Vim es fantástico para proyectos de software, grandes y pequeños. Lo uso para proyectos únicos muy pequeños (por ejemplo, solo un archivo de origen), proyectos medianos (por ejemplo, desarrollo de dlib, que tiene aproximadamente 250,000 líneas de código) y en proyectos de un millón de líneas o más.

En mi opinión, la característica vim más importante para trabajar con proyectos grandes es su compatibilidad con ctags. La forma en que esto funciona es que ejecuta ctags -R folder_with_all_your_source_code y genera un archivo de etiquetas que puede considerar como una base de datos de todas las variables, funciones, nombres de clase, etc. en su código. Luego, dentro de vim, dice :set tags=/path/to/the/tags/file/you/just/made/tags y vim sabrá acerca de todo su código. También puede agregar este comando a su archivo .vimrc para que no tenga que escribirlo cada vez que encienda vim.

Hay muchos comandos vim para trabajar con ctags. Ejecutar :help tags en vim para leer la documentación. Sin embargo, el comando principal es ctrl +] que te lleva a la definición de función / clase debajo del cursor y ctrl + t te devuelve a donde empezaste. También puede realizar una finalización de cadena inteligente que use la base de datos de etiquetas (y otras cosas) al comenzar a escribir el nombre de una función y luego presionar ctrl + n.

En ubuntu, puede instalar el comando ctags escribiendo sudo apt-get install exuberant-ctags .

Otro complemento vim importante es el complemento Project (ver Organizar / Navegar proyectos de archivos (como IDE / buffer explorer): vim en línea).

En términos más generales, para que vim sea útil, debe activar elementos como el resaltado de sintaxis, el tabulado inteligente, etc. Para hacer esto, debe configurar un archivo .vimrc en su carpeta de inicio que active las funciones que desee. Recomendaría comenzar con el archivo .vimrc de otra persona y ajustarlo a su gusto. Para probar el mío, junto con todos los complementos de vim que creo que son útiles para el desarrollo, puede descargar vim_config.tar.bz2 y extraerlo dentro de su carpeta de inicio (si usa un poco de UNIX) y luego vim se configurará para el desarrollo de software .

vim está diseñado para grandes proyectos. Cuando trabajaba para el cine digital de Kodak, todo el mundo tenía que usar vim o emacs. tiene millones de líneas de código heredado escritas en bash / perl / java / c / sql

Tiene dependencias complejas. Configurar el único entorno de desarrollo en vivo para todo el equipo es muy difícil (por ejemplo, el equipo tuvo que esperar dos semanas porque el reproductor de películas debería enviarse desde EE. UU. A China). Se necesitan decenas de servidores Linux (60 como mínimo), y también se debe probar mucho hardware incorporado.

Como recordé, el parche de código debe confirmarse y probarse (a veces editado) en algún servidor remoto alojado en EE. La conexión de red es una mierda (no mejor que la conexión de módem de 36.6K).

Vim nos salvó la vida en este caso.

Es simplemente imposible usar IDEs o esos editores de texto GUI.

Si crees que vim no es para grandes proyectos. ¡Es porque todavía NO has sobrevivido al gran proyecto!