{{tag>vim caractere}}
====== Affichage de caractères spéciaux ======
Les caractères non imprimables peuvent être visualisés dans vim. C'est particulièrement utile pour repérer facilement des caractères pouvant poser problème lors de l’exécution de scripts (comme l'espace insécable).
Pour afficher le code du caractère sous le curseur, en mode commande presser les touches ga.
On trouvera des informations à propos de l'affichage des ensembles de caractères imprimables et non imprimables avec l'aide
:h isprint
Le tableau ci-dessous résume le mode d'affichage des caractères.
^ ASCII (décimal) ^ Mode d'affichage |
| 0 - 31 | Caractères non imprimables, représentés avec 2 caractères %%"^@" - "^_"%% |
| 32 - 126 | Toujours imprimables, affichés normalement. |
| 127 | %%"^?"%% |
| 128- 159 | Caractères non imprimables, représentés avec 2 caractères %%"~@" - "~_"%% |
| 160 - 254 | Caractères non imprimables, représentés avec 2 caractères %%"| " - "|~"%% |
| 255 | %%"~?"%% |
Pour visualiser les options de mise en forme des caractères non imprimables:
:hi NonText
L'option **listchars** permet également de définir quels caractères peuvent être utilisés pour certains caractères ASCII non imprimables tels que:
* eol (end of line)
* tab (tabulations)
* trail
* nbsp (non-breackable space)
La documentation à propos de la variable listchars
:help listchars
Pour définir de façon permanente cette liste, éditer le fichier de configuration ~/.vimrc
" Rendre possible l'affichage de certains caractères spéciaux
set listchars=eol:¶,tab:<->,extends:»,precedes:«,space:•,nbsp:%
Pour afficher/masquer les caractères de cette liste, activer l'option:
:set list
:set list!
Pour ajouter une valeur temporairement à listchars:
:set lcs+=space:•
Plus de détail concernant les variables et options dans le wiki [[software:applications:vim:variables-et-options]]
===== Références =====
* https://wincent.com/blog/making-vim-highlight-suspicious-characters
* https://www.ibm.com/developerworks/library/l-vim-script-1/index.html
* https://stackoverflow.com/questions/37365669/vim-mapping-keys-listchars