Wie andere bereits gesagt haben, könnten Sie Folgendes verwenden
:set list
die in Kombination mit
:set listchars=...
unsichtbare Zeichen anzeigen.
Nun gibt es keine explizite Option, die Sie verwenden können, um anzeigen Whitespace, aber in Listchars könnte man ein Zeichen für alles ABER Whitespace festlegen. Bei mir sieht das zum Beispiel so aus
:set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<
Also, nachdem Sie
:set list
alles, was nicht explizit als etwas anderes dargestellt wird, ist dann in Wirklichkeit ein einfaches Leerzeichen.
Wie üblich, um zu verstehen, wie listchars
funktioniert, nutzen Sie die Hilfe. Sie enthält wertvolle Informationen darüber, welche Zeichen angezeigt werden können (z. B. Leerzeichen am Ende) und wie dies zu tun ist:
:help listchars
Es könnte hilfreich sein, einen Toggle hinzuzufügen, damit Sie die Änderungen in der Mitte der Bearbeitung leicht sehen können (Quelle: VIM :set list! als Umschalter in .vimrc ):
noremap <F5> :set list!<CR>
inoremap <F5> <C-o>:set list!<CR>
cnoremap <F5> <C-c>:set list!<CR>
17 Stimmen
Ich versuche auch, genau dieses Problem zu lösen. Wenn Sie darauf stoßen, sehen Sie bitte davon ab, noch eine weitere Antwort zu geben, die
:set list
. Das ist keine Antwort auf unsere Frage. (An andere Kommende: mrucci Die nachstehende Antwort ist hilfreich, wenn auch nicht wirklich eine echte Lösung .)2 Stimmen
Für alle, die sagen, dass Räume sichtbar sind mit
list
ylistchars
berücksichtigen, dass ein Leerzeichen direkt auf einen Tabulator folgt. In dieser Situation wäre es fast unsichtbar. Ich stimme zu, dass man die meisten Situationen abfangen kann, aber es wäre schön, wenn man alle Leerzeichen richtig hervorheben könnte.12 Stimmen
Für neue Besucher: Dies ist in neueren Versionen von vim gelöst! Siehe brettanomyces 's Antwort unten .
1 Stimmen
Verwandt (aber unterschiedlicher Stapel): vi.stackexchange.com/questions/422/