2012-11-08 17 views
5

Esiste una ricetta per rendere i caratteri della scheda evidenziazione vim con un determinato colore, ma solo mentre è impostata l'opzione expandtab? So di 'listchars', ma mi piacerebbe essere in grado di differenziare una "scheda valida" da una "scheda non valida".Evidenzia le schede in vim quando è impostato expandtab

+0

Cosa rende una scheda "valida" o "non valida"? – romainl

+0

"Invalido" è forse una parola forte ... Intendo una scheda in un file che non usa tabulazioni per il rientro. Il modo in cui utilizzo 'expandtab', corrisponde sempre alle impostazioni di indentazione del file. –

risposta

4

È possibile aggiungere un personalizzato :match per i caratteri di tabulazione in base :autocmds, in questo modo:

autocmd WinEnter,VimEnter * 
\ if &expandtab | 
\  silent! call matchadd('Error', '\t', 10, 31337) | 
\ else | 
\  silent! call matchdelete(31337) | 
\ endif 

(. Per semplicità, questo utilizza un ID hard-coded)

In alternativa, è possibile utilizzare un plugin come il mio IndentConsistencyCop, che verifica sia il rientro incoerente che le mancate corrispondenze del buffer e le sue impostazioni, e per impostazione predefinita evidenzia anche le linee sbagliate. (La pagina del plug-in contiene collegamenti a plug-in alternativi.)

Problemi correlati