2012-11-08 5 views
5

Gibt es ein Rezept, um vim Tab-Zeichen mit einer bestimmten Farbe hervorzuheben, aber nur während die expandtab Option gesetzt ist? Ich weiß über 'listchars', aber ich würde gerne in der Lage sein, eine "gültige Registerkarte" von einer "ungültigen Registerkarte" zu unterscheiden.Registerkarten in vim hervorheben, wenn extendtab gesetzt ist

+0

Was macht eine Registerkarte "gültig" oder "ungültig"? – romainl

+0

"Ungültig" ist vielleicht ein starkes Wort ... Ich meine eine Registerkarte in einer Datei, die keine Tabs zum Einrücken verwendet. Die Art, wie ich 'expandtab' verwende, stimmt immer mit den Einstellungen für die Dateieinrückung überein. –

Antwort

4

Sie eine benutzerdefinierte :match für Tabulatoren basierend auf :autocmds, wie diese hinzufügen:

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

(. Der Einfachheit halber wird in diesem eine ID hartcodiert)

Alternativ könnten Sie ein verwenden Plugin wie meine IndentConsistencyCop, die sowohl auf inkonsistente Einrückungen und Fehlanpassungen des Puffers und seiner Einstellungen prüft, als auch standardmäßig die falschen Zeilen hervorhebt. (Die Plugin-Seite enthält Links zu anderen Plugins.)

Verwandte Themen