Comment puis-je configurer vim pour afficher les caractères masqués tels que des tabulations ou des espaces UNIQUEMENT pendant la saisie de ces caractères? Je ne veux pas que les tabulations et/ou l'espace soient remplacés par des caractères spéciaux tels que ">" ou "_" lors de l'écriture du fichier.
Vous pouvez utiliser les commandes
:set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<
:set list
pour afficher tous les caractères qui ne sont pas des espaces. Donc, les espaces sont la seule chose qui ne se présente pas.
Si vous avez absolument besoin d'espaces à marquer également, vous devrez essayer quelque chose de moins sympa. Quelque chose comme
:%s/ /█/g
Remplacera tous les espaces par un caractère de bloc. Ensuite, vous devez l'annuler avant d'écrire. Vous pouvez remapper votre commande d'écriture do
cmap :w :%s/█/ /g<CR>:w
Juste une suggestion. Je n'ai pas essayé cependant.
Les versions plus récentes de vim peuvent également afficher des espaces. (Confirmé le vim 7.4.1689).
:set list
:set listchars=tab:→\ ,space:·,nbsp:␣,trail:•,eol:¶,precedes:«,extends:»
Dans mon cas, je devais me battre nbsp ,
:set listchars=nbsp:☠,tab:▸␣
:set list
Vous pouvez également utiliser ␣ au lieu de
Voici un exemple où la configuration de vim ci-dessus met en évidence les espaces "invisibles" et met en surbrillance les onglets (couleur rouge parce que j'utilise le plugin vim trailing-whitespace)