Uso %
como un sustituto de su nombre de archivo. Pero personalmente, realmente creo que puedes presionar :make
para hacer exactamente lo que quieras.
Solía hacer exactamente lo que quiere evitar: simplemente hackear un Makefile de dos líneas para cada carpeta en la que estaba. Disfruté de la compatibilidad con quickfix de :make
tanto que parecía como un Makefile de dos líneas como una pequeña sobrecarga en el panorama general.
... Desde entonces he aprendido mejor. Puede usar un autocmd o ftplugin para configurar la opción makeprg
, configurando :make
para usar el comando de su elección en función del tipo de archivo actual. En sí mismo, eso te ahorra un poco de trabajo.
El problema comienza cuando trabajamos una herramienta cuyos mensajes de error no se parecen a los de GCC. Para evitar esto, vim también proporciona la opción errorformat
. errorformat
es muy sofisticado. Si realmente desea obtener más información, comience con :h error-format
. A largo plazo, la sofisticación es realmente genial. Significa que, una vez que aprende a usarlo, puede analizar prácticamente cualquier salida del compilador y formatearla para su visualización con quickfix (:cope
o :cl
).
En el corto plazo, puede ser un poco malo, porque significa que las primeras veces que pirateas un formato de error juntas, vas a pasar un poco de tiempo desconcertando los vimdocs y volver a cargar y crear archivos que dispararán los diversos mensajes de error que su compilador puede producir. Eso definitivamente no es lo que quieres si solo estás trabajando brevemente fuera de tu zona de confort, o si tu jefe está sobre tu hombro y te urge corregir este error ahora.
Con suerte (y probable), alguien que ya ha pasado por este dolor para ti, y, o bien configurado adecuadamente para su errorformat
predeterminado ftplugin
, o liberado como parte de una secuencia de comandos de vim que están a la espera de la comunidad para instalar y adorar
Como una demostración rápida, aquí hay un par de líneas de I hackeado para mi .vim/ftplugin/haskell.vim
archivo:
setl makeprg=ghc\ --make\ %
setl errorformat=%E%f:%l:%c:,%C\ %.%m,%Z,%f:%l:%c:%m
utilizo setl
aquí para que estas opciones sólo están configurados para archivos de origen Haskell; si edito un tipo diferente de archivo fuente simultáneamente, puede usar una configuración diferente en su lugar.
Si termina utilizando :make
, también recomiendo configurar su configuración switchbuf
. Me resulta un poco molesto tener que presionar ctrl-O después de una compilación si la solución rápida se emociona y te lleva al archivo equivocado. Yo uso:
set switchbuf=useopen,usetab,newtab
similares a http://stackoverflow.com/q/916875/80161 y http://stackoverflow.com/q/2233905/80161 –
y mayores de los que es similar a. – martiert
Sin dudas. Me habría agregado a la lista "vinculada" pero aún no tengo el permiso. –