Odpowiedzi:
Możesz użyć poleceń
:set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<
:set list
aby wyświetlić wszystkie znaki, które nie są białymi znakami. Więc spacje są jedyną rzeczą, która się nie pojawia.
Jeśli absolutnie potrzebujesz również miejsca do oznaczenia, musisz spróbować czegoś mniej przyjemnego. Coś jak
:%s/ /█/g
Zastąpi wszystkie spacje znakiem bloku. Następnie musisz go cofnąć przed napisaniem. Możesz zmienić mapowanie polecenia write do
cmap :w :%s/█/ /g<CR>:w
Tylko sugestia. Jednak tego nie próbowałem.
:set listchars
polecenie i ustawiał je na nic, a następnie wywoływał je ponownie po wyjściu z trybu wstawiania. Ale nie wiem wystarczająco dużo o mapach, aby to zrobić.
space:␣
działa dobrze dla mnie: :set listchars=eol:$,tab:>-,trail:~,space:␣
W moim przypadku musiałem walczyć z nbsp ,
:set listchars=nbsp:☠,tab:▸␣
:set list
Możesz także użyć ␣ zamiast ☠
Oto przykład, w którym powyższa konfiguracja vima podświetla „niewidoczne dziwne” spacje, a dodatkowo wyróżnia tabulatory (kolor czerwony, ponieważ używam wtyczki vim z końcowymi spacjami )
:set list
. To może uzyskać wszystko oprócz spacji.