2011-09-10 16 views
7

utilizo VIM en el desarrollo de proyectos de C++ y configurado un shortcurt compilación de la siguiente maneraNo cambie búfer al usar vim ventana quickfix

map <F4> :w<CR> :set makeprg=make<CR> :make <CR>:cw 4<CR> 

que se basa mi proyecto y muestra la ventana quickfix en caso de que haya hay algún error

Sin embargo, esto siempre va a hacer vim abrir el archivo que contiene el primer error en mi memoria intermedia actual, que es molesto cuando el error no es lógicamente causado por la línea indicada por el compilador, pero alguna otra pieza de código en el archivo que está actualmente abierto. ¿Puedo evitar que VIM cambie el archivo abierto actualmente al saltar a un error (es decir, vaya al primer error solo si está contenido en el archivo actual, de lo contrario, abra la ventana de revisión). Además: puedo evitar saltar al primer error en absoluto (de nuevo: simplemente ventana quickfix abierto)

Respuesta

10

Para evitar que el comando :make de saltar al primer error, llame con ! modificador,

:make! 

Ver :help :make, elemento 7.

4

Además de usar make! (con una explosión), consulte también la opción 'switchbuf'.

Puede usar set switchbuf=split para usar siempre una nueva división al abrir un archivo de quickfix.

También compruebe que no ha configurado switchbuf=useopen, lo que puede causar cambios inesperados en la ventana/búfer mientras revisa la lista de soluciones rápidas.

Cuestiones relacionadas