2009-07-28 5 views

Antwort

16

ich so etwas wie folgt verwenden:

set list listchars=tab:»·,trail:·,precedes:…,extends:…,nbsp:‗ 

Benötigt Vim7 und ich bin nicht sicher, wie gut dies zu zeigen, wird in einem Browser, weil es einige funky Unicode-Zeichen verwendet. Es ist gut, einige Sonderzeichen zu verwenden, damit Sie einen Tab von etwas unterscheiden können, das Sie selbst eingegeben haben.

Neben den Tabs ist das Anzeigen von Leerzeichen am Zeilenende nützlich, damit Sie sie entfernen können (sie sind ärgerlich).

+0

wow Ich war auf der Suche nach diesem ein paar Wochen zurück, aber habe wirklich nichts gefunden (ich habe nicht wirklich intensiv gesucht) ... danke :) –

+0

können Sie uns sagen, wie Sie diese Zeichen in Ihre .vimrc eingeben ? –

+0

Kopieren/Einfügen ist am einfachsten, oder 'Strg-V u ####' wobei #### ein 4-stelliger Unicode-Codepunkt ist. –

5

Verwenden Sie die list und listchars Optionen, etwa wie folgt:

:set list 
:set listchars=tab:>- 
3

Wenn Sie wie folgt vor:

:set list 

dann alle TAB-Zeichen als ^I und alle Leerzeichen als $ erscheint erscheint.

Mit listchars können Sie steuern, welche Zeichen für alle Leerzeichen verwendet werden sollen. So

:set listchars=tab:... 

in Verbindung mit :set list macht TABs sichtbar als ....

2

Auch beim Ausschneiden und Einfügen von Text ist es sinnvoll, die Anzeige von Tabstopps und Leerzeichen zu deaktivieren. Sie können das mit

:set list! 

tun und Sie aktivieren es erneut mit dem Befehl wiederholen.

7

Viele andere haben die ‚listchars‘ und ‚Liste‘ Optionen erwähnt, aber nur eine weitere interessante Alternative hinzuzufügen:

if &expandtab == 0 
    execute 'syn match MixedIndentationError display "^\([\t]*\)\@<=\(\{'.&ts.'}\)\+"' 
else 
    execute 'syn match MixedIndentationError display "^\(\(\{' . &ts . '}\)*\)\@<=\t\+"' 
endif 
hi link MixedIndentationError Error 

Diese in der aktuellen Einstellung von ‚expandtab‘ aussehen wird (dh ob Sie haben hat harte Tabulatoren oder Leerzeichen, die vorgeben, Registerkarten zu sein) und hebt alles hervor, das aussehen würde wie richtiges Einrücken, aber von der falschen Form sein. Diese funktionieren so, dass Sie auf die Tabstopps schauen. Daher werden Tabs, die für das Einrücken verwendet werden, gefolgt von Leerzeichen für die einfache Ausrichtung (kein Vielfaches von Tabstop), nicht als fehlerhaft markiert.

Einfachere Optionen stehen zur Verfügung: Wenn Sie nur alle Tabs in die falsche Datei in leuchtendem Rot hervorgehoben werden soll (oder was auch immer Ihre Fehler Farbe ist), könnten Sie tun:

syn match TabShouldNotBeThereError display "\t" 
hi link TabShouldNotBeThereError Error 

oder wenn Sie wollen Räume an Der Anfang einer Zeile, die als Fehler angesehen wird, könnte folgendermaßen aussehen:

syn match SpacesUsedForIndentationError display "^ +" 
hi link SpacesUsedForIndentationError Error 

Nur noch ein paar Gedanken, die Sie dem Mix hinzufügen sollten ...Weitere Informationen hier:

:help 'expandtab' 
:help 'tabstop' 
:help 'listchars' 
:help 'list' 
:help :exe 
:help let-option 
:help :hi-link 
:help :syn-match 
:help :syn-display 
2

glenn jackman gefragt, wie die Zeichen eingeben (Ich gehe davon aus, er meint Zeichen wie „» ").

Brian Carper schlägt eine Methode vor, die die Unicode-Indexnummer des Zeichens verwendet. Da viele dieser markanten Charaktere Digraphen sind, können Sie auch die CNTL-k Abkürzung verwenden, die in der Regel leichter zu merken ist.

So können Sie zum Beispiel das "» "im Einfügemodus erzeugen, indem Sie zweimal CNTL-k und das Zeichen"> "eingeben.

Verwandte Themen