65 votes

Afficher les espaces de fin de ligne dans vim

J'ai défini les options suivantes dans le fichier .vimrc

set listchars=tab:\ ,trail:·
set list

Et je m'attendais à voir des points aux endroits où des espaces sont utilisés pour la tabulation dans le code (j'utilise des espaces, pas des tabulations). Cependant, le résultat est différent :

enter image description here

Pourriez-vous me conseiller sur la manière d'atteindre le résultat souhaité ? Merci !

0voto

Rich Points 73

Sur la base du lien posté par icecrime, je trouve que cela fonctionne assez bien...

" Be clever about highlighting trailing whitespace (don't highlight it if we are
" in 'insert' mode and the cursor is at the end of the line). Also (regardless
" of 'insert' mode), highlight any tabs that immediately follow space(s).
" EOLWS and EOLWSInsert are colour group names; the latter being toned-down to
" make editing in 'insert' mode easier on the eye
autocmd InsertEnter * match EOLWS // | match EOLWSInsert /\s\+\%#\@<!$\| \+\ze\t/
autocmd InsertLeave * match EOLWSInsert // | match EOLWS /\s\+$\| \+\ze\t/
autocmd WinEnter,BufWinEnter,WinNew * match EOLWS /\s\+$\| \+\ze\t/

" Disable syntax-specific trailing space error handling because it conflicts
" with the above, mostly because the syntax highlighting doesn't take account of
" whether 'insert' mode is active or not. There are other '*_no_trail_space_error'
" settings - refer to syntax files in $VIMRUNTIME/syntax/
let c_no_trail_space_error = 1
let java_no_trail_space_error = 1

Vérifiez également que le groupe de surbrillance "Error" n'est PAS défini comme une vidéo inverse - s'il l'est, il entre en conflit de manière étrange avec ce qui précède.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X