888 votes

Faire en sorte que Vim affiche TOUS les espaces blancs comme un caractère

Je n'arrive pas à trouver un moyen de faire en sorte que Vim affiche tous les espaces blancs comme des caractères. Tout ce que j'ai trouvé concerne les tabulations, les espaces de fin de ligne, etc.

774voto

ldigas Points 19740

Comme d'autres l'ont dit, vous pouvez utiliser

:set list

qui, en combinaison avec

:set listchars=...

afficher des caractères invisibles.
Maintenant, il n'y a pas d'option explicite que vous pouvez utiliser pour montrer les espaces blancs, mais dans listchars, vous pouvez définir un caractère à afficher pour tout sauf les espaces blancs. Par exemple, le mien ressemble à ceci

:set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<

donc, maintenant, après avoir utilisé

:set list

tout ce qui n'est pas explicitement présenté comme autre chose est alors, en réalité, un simple espace blanc.

278voto

Marcin Points 4353

:set list à activer.

:set nolist à désactiver.

104voto

Ether Points 34103

:set list affichera tous les espaces blancs comme un caractère. Tout mais un espace aura un aspect différent de son état normal, ce qui signifie que si vous voyez toujours un espace ordinaire, c'est vraiment un espace ordinaire. :)

75voto

mrucci Points 1917

Si vous mettez :

:highlight Search cterm=underline gui=underline ctermbg=none guibg=none ctermfg=none guifg=none

puis effectuer une recherche d'un espace, chaque caractère d'espace sera affiché comme un caractère souligné.

Vous pouvez utiliser cette commande dans une fonction pratique qui permet d'activer le "soulignement" des espaces.

set hls
let g:HLSpace = 1
let g:HLColorScheme = g:colors_name
function ToggleSpaceUnderscoring()
    if g:HLSpace
        highlight Search cterm=underline gui=underline ctermbg=none guibg=none ctermfg=none guifg=none
        let @/ = " "
    else
        highlight clear
        silent colorscheme "".g:HLColorScheme
        let @/ = ""
    endif
    let g:HLSpace = !g:HLSpace
endfunction

Mapper la fonction à une touche de raccourci avec :

nmap <silent> <F3> <Esc>:call ToggleSpaceUnderscoring()<CR>

NB : Définissez la fonction dans vimrc après que le schéma de couleurs ait été défini.

48voto

Christian Brabandt Points 2241

En fonction de vos règles de syntaxe pour le tampon actuel, quelque chose comme ceci pourrait fonctionner :

:syn match WhiteSpace / / containedin=ALL conceal cchar=Æ
:setl conceallevel=2 concealcursor=nv

Cela nécessite un vim 7.3 avec la fonction +conceal.

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