Ho un avviso che non posso rimuovere facilmente dalla mia build, ogni volta che eseguo ": make" da dentro vim la quickfix mi porta ad un file di intestazione non mi interessa di. Come posso impedire a VIM di farlo e mostrarmi solo avvertimenti ed errori che mi interessano?Prevenire: fare in VIM di andare a un avviso
risposta
Un modo veloce e sporco sarebbe scrivere un semplice script di shell che esegua il tuo make e svuota gli avvisi che non vuoi vedere. Quindi devi usare questo script invece di make (Aggiungi "set makeprg = yourscript.sh" al tuo .vimrc).
Controllare :h 'errorformat'
(alias &efm
), esistono opzioni per ignorare gli avvisi finché è possibile riconoscerli con un motivo.
Impara da Bram stesso.
Mi ricordo vagamente che parla di questo da qualche parte nello this video.
Aggiunge un filtro per ignorare alcuni avvisi di gnome durante la compilazione di gvim.
Il video vale comunque la pena guardare.
È intorno ai 30 minuti.
Come ha detto Luc Hermite, è possibile ignorare gli avvisi utilizzando l'opzione 'errorformat'
. La regolazione di questa opzione è un po 'complicata; potrebbe essere utile controllare lo $VIMRUNTIME/compiler
per alcuni esempi.
Quando si lavora con avr-gcc e C++ alcuni avvisi fastidiosi come questo
tests.cpp:492: warning: only initialized variables can be placed into program memory area
si presenta, ed è probabile che sia frutto di una compiler fault.
Per evitare che tali avvertenze visualizzati sulla finestra quickfix ho aggiungere questo ~/.vimrc
:
compiler gcc
set errorformat^=%-G%f:%l:\ %tarning:\ only\ initialized\ varia
\bles\ can\ be\ placed\ into\ program\ memory\ area
Il %-G
può essere utilizzato per specificare i modelli per essere ignorati. Il ^=
in set errorformat^=...
è usato per anteporre il modello di allarme ignorato per 'errorformat'
- utilizzando +=
(set errorformat+=...
) sarebbe aggiungere l'opzione e non avrebbe funzionato, come 'errorformat'
è un elenco di formati e il primo che corrisponde viene utilizzato, in tal modo si applicherebbe invece il modello di avvertimento "normale".
Forse potresti adattare queste impostazioni al tuo ambiente.
Per costruire su ciò che mMontu suggerito, aggiungendo questo al mio Vimrc ha fatto il trucco per me (ignorare tutti gli avvertimenti dal mio compilatore GCC)
set errorformat^=% - G% f:% l: \ avvertimento :% m
Il collegamento è morto. – mknaf