Respuestas:
Puedes usar los comandos
:set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<
:set list
para mostrar todos los caracteres que no son espacios en blanco. Entonces, los espacios son lo único que no aparece.
Si también necesita espacios para marcar, deberá probar algo menos agradable. Algo como
:%s/ /█/g
Reemplazará todos los espacios con un carácter de bloque. Entonces deberías deshacerlo antes de escribir. Podrías reasignar tu comando de escritura do
cmap :w :%s/█/ /g<CR>:w
Sólo una sugerencia. Aunque no lo he intentado.
:set listchars
comando y lo establezca en nada, luego lo vuelva a llamar cuando salga del modo de inserción. Pero no sé lo suficiente sobre mapas para hacer eso.
space:␣
funciona bien: :set listchars=eol:$,tab:>-,trail:~,space:␣
En mi caso tuve que pelear nbsp ,
:set listchars=nbsp:☠,tab:▸␣
:set list
También puedes usar ␣ en lugar de ☠
Aquí hay un ejemplo en el que la configuración vim anterior resalta los espacios "invisibles extraños" y, además, resalta las pestañas (color rojo porque estoy usando el complemento vim trailing-whitespace)
:set list
. Eso puede obtener todo excepto espacios.