2011-06-15 16 views
25

Quando si ha a che fare con conflitti di unione, è comune che gli >>>>>> e ====== inseriti da DCVS siano sintatticamente non corretti per il file in cui sono e si presentino come evidenziati in rosso. Quando si affrontano conflitti di unione, sarebbe utile avere comandi per saltare a questi errori. Quando digito :cnext viene visualizzato solo il messaggio "Nessun errore". Questi sono conflitti di merge Mercurial quindi non posso usare Fugitive, ma generalmente preferisco comunque modificare i conflitti di merge a mano.Passa al prossimo errore/codice evidenziato in rosso

C'è un modo per passare al successivo errore di sintassi nel file? Penso che questi errori siano dettati dal file di evidenziazione della sintassi.

risposta

35

È possibile utilizzare :lopen per aprire la finestra contenente le righe di errore/avviso. Dopo di che, naviga verso ognuno di essi.

La risposta reale è che è possibile utilizzare :lnext per passare al prossimo errore, o :lprev, o ]l e [l (quelli sono Ls minuscole) se avete vim-unimpaired, che si fallo, perché non dovresti usare Vim senza di esso.

Questo non in realtà saltare al successivo rosso/errore evidenziato gruppo di testo, ma salterà a tutto ciò che il vostro plugin sintassi impone è un errore (e popola l'elenco posizione). È impossibile in Vim per passare a un gruppo di evidenziazione specifico, perché nessuno si è preoccupato di capire ancora.

Il plug-in SRDispHiGrp si avvicina, ma se non si può dire dal nome, è troppo sconvolto e confuso per uso umano.

1

Sulla base di a question qui su StackOverflow, questo plugin called SrchRplcHiGrp ti aiuterà nella tua missione.

+0

Sembra che il plug-in ti consenta solo di cercare i caratteri all'interno di un gruppo di evidenziazione, non solo un gruppo di evidenziazione. Sembra anche molto confuso. –

11

Penso che tu fossi sulla buona strada con :cnext.

:cnext e :cprevious sono comandi Vim QuickFix; puoi trarne vantaggio utilizzando un plug-in di convalida del codice che utilizza la modalità QuickFix, ad esempio pyflakes.vim per Python e jslint.vim/jshint.vim per JavaScript.

Ciò comporterà la presenza di errori di sintassi con sottotitoli rossi ondulati, a differenza dell'evidenziazione dell'errore di sintassi rosso solido che credo si stia vedendo. Dovresti quindi essere in grado di utilizzare :cnext e :cprevious per saltare agli errori contrassegnati successivo e precedente.

Problemi correlati