Fai in modo che Vim mostri TUTTI gli spazi bianchi come personaggio


772

Non riesco a trovare un modo per far mostrare a Vim tutti gli spazi bianchi come personaggio. Tutto quello che ho trovato riguardava schede, spazi finali ecc.


14
Sto anche cercando di risolvere esattamente questo problema. Per favore, se ti imbatti in questo, astieniti dal dare ancora un'altra risposta :set list. Questo non risponde alla nostra domanda. (Per altri venuti: la risposta di mrucci di seguito è utile, anche se non è una vera soluzione .)
ELLIOTTCABILE

1
Per tutti coloro che affermano che gli spazi sono visibili con liste listcharsconsiderano che uno spazio segue direttamente una scheda. Sarebbe quasi invisibile in questa situazione. Sono d'accordo che puoi cogliere la maggior parte delle situazioni ma se sarebbe bello avere una corretta evidenziazione di tutti gli spazi.
Kevin Cox,

11
Per i nuovi visitatori: questo è risolto nelle versioni più recenti di vim! Vedi la risposta di brettanomyces di seguito .
ELLIOTTCABLE

1
Correlato (ma differenza stack): vi.stackexchange.com/questions/422/…
Pureferret

Risposte:


693

Come altri hanno già detto, potresti usare

:set list

che sarà, in combinazione con

:set listchars=...

mostra personaggi invisibili.
Ora, non esiste un'opzione esplicita che è possibile utilizzare per mostrare gli spazi bianchi, ma negli elenchi, è possibile impostare un carattere da mostrare per tutto, MA gli spazi bianchi. Ad esempio, il mio assomiglia a questo

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

così, ora, dopo aver usato

:set list

tutto ciò che non viene esplicitamente mostrato come qualcos'altro, è quindi, in realtà, un semplice vecchio spazio bianco.

Come al solito, per capire come listcharsfunziona, usa l'aiuto. Fornisce ottime informazioni su quali caratteri possono essere visualizzati (come spazio finale, ad esempio) e su come farlo:

:help listchars

Potrebbe essere utile aggiungere un interruttore in modo da poter vedere facilmente le modifiche durante la modifica (fonte: VIM: imposta elenco! Come interruttore in .vimrc ):

noremap <F5> :set list!<CR>
inoremap <F5> <C-o>:set list!<CR>
cnoremap <F5> <C-c>:set list!<CR>

4
"Tutto ciò che non è esplicitamente mostrato come qualcos'altro"? Prova gli spazi unicode nell'intervallo U + 2000..U + 200A. Se i caratteri a larghezza fissa li supportano, verranno mostrati come normali spazi 0x20.
ZyX,

2
@ZyX - Non stavo prendendo l'intero Unicode, ma l'insieme piuttosto comune di caratteri in uso. Se non sei soddisfatto della risposta, non esitare a suggerire miglioramenti.
Rook,

20
@ckarbass -: set invlist
Rook,

Ottimo consiglio! Consiglio di inserire la riga listchars impostata nel .vimrcfile, in modo che questo modo carino di visualizzare caratteri invisibili possa essere facilmente abilitato :set listin qualsiasi momento (senza ricorrere a google su questa pagina).
Melebio

8
@ckarbass Allo stesso modo puoi attivare o disattivare qualsiasi cosa in vim - aggiungendo un! all'estremità. Così diventa: set list!

275

A partire dalla patch 7.4.710 ora puoi impostare un personaggio da mostrare al posto dello spazio usando listchars!

:set listchars+=space:␣

Quindi, per mostrare TUTTI i caratteri dello spazio bianco come carattere, puoi fare quanto segue:

:set listchars=eol:¬,tab:>·,trail:~,extends:>,precedes:<,space:␣
:set list

Discussione sulla mailing list: https://groups.google.com/forum/?fromgroups#!topic/vim_dev/pjmW6wOZW_Q


2
Questo è piuttosto bello, ma mi chiedo perché il personaggio eol non venga colorato in modo diverso, a differenza degli altri.
CMCDragonkai,

3
Ho provato questo e all'inizio ho avuto un errore. Si è scoperto che "spazio" non era un'opzione valida nella versione leggermente più vecchia di gvim che stavo usando. L'aggiornamento di gvim ha risolto il mio problema. Per gli altri che stanno ricevendo un errore, digitare :help listcharsper verificare se "spazio" è un'opzione valida per "listchars". In caso contrario, aggiornare Vim alla patch @brettanomyces specificata. O lascia semplicemente "spazio" fuori dal comando set se non ti interessa vedere gli spazi.
Niko Bellic,

4
Uso il punto medio di Unicode (U + 00B7) per il carattere spaziale ( space:·), poiché sembra MS Word, Notepad ++, ecc.
Dinei,

1
@ user5359531 provare <ctrl-v> u2334 per inserire il carattere di casella aperta unicode (␣). Vedi sanctum.geek.nz/arabesque/special-characters-in-vim per maggiori dettagli
Brett Y

3
Digita <C-K>.Mvim per ·. Vedi :h digraphper i dettagli.
johnchen902,

252

:set list abilitare.

:set nolist disabilitare.


11
Grazie per averci mostrato come passare da una modalità all'altra. Penseresti che altre risposte avanzate lo insegnerebbero.
Jonathan Komar,

1
si questo è utile. Vorrei che fosse la risposta migliore in quanto ho trovato questa risposta me stesso solo per scoprire che era già sul sito, appena fuori dalla vista.
Ejoso,

8
: set list!è meglio :)
skippr

@Skippr Con quale misura? È lo stesso numero di tasti premuti, tranne quello Shifte !sono entrambi più difficili da digitare di no. Se lo stai inserendo nel tuo .vimrc, sono d'accordo che il modulo esclamativo sia più facile da leggere.
Dan Bechard,

7
@Dan Se stai cercando di attivare e disattivare questa funzione in un tempo relativamente breve, :set list!lo farai senza che tu debba mai entrare nolist. L' !opposto fa semplicemente il contrario di qualsiasi cosa sia attualmente impostata. Lo uso sempre, soprattutto quando con :set paste!. Odio premere il tasto freccia per trovare :set pasteo :set nopastelol
skippr

188

Penso che le altre risposte qui siano più complete, ma ho pensato di condividere un trucco che di solito uso per differenziare visivamente schede e spazi:

:syntax on
:set syntax=whitespace

Queste sono regole di evidenziazione della sintassi per il linguaggio di programmazione degli spazi bianchi : le schede sono visualizzate in verde e gli spazi in rosso. :)

Può essere combinato con :set listquello menzionato da molte altre risposte, anche se le schede mostreranno quindi come ^ I senza una luce verde, ma gli spazi verranno visualizzati in rosso.


7
Mi piace questo, è abbastanza intelligente e si sente in qualche modo meglio della maggior parte delle altre risposte. Tuttavia, non è una soluzione utilizzabile in ogni momento.
ComputerDruid,

4
Preferisco metodi più convenzionali, ma lo sto facendo +1 per inventiva.
Sietse van der Molen,

28
Sapevo che la lingua sarebbe stata utile per qualcosa .
Dan Bechard,

1
Ti dispiace collegare al file di sintassi .vim che stai utilizzando per evidenziare
SeldomNeedy,

2
@SeldomNeedy non dovresti scaricare nulla, le regole di evidenziazione degli spazi bianchi vengono spedite con Vim per anni. Dovrebbero essenzialmente essere integrati a meno che tu non stia utilizzando una versione strana o davvero vecchia di Vim.
Eliot,

91

:set listmostrerà tutti gli spazi bianchi come personaggio. Tutto tranne uno spazio apparirà diverso dal suo stato normale, il che significa che se vedi ancora un vecchio spazio semplice, è davvero un vecchio spazio. :)


35
Disattiva questo con:set nolist
Greg K il

6
Cosa succede se si desidera vedere il carattere dello spazio, come in Sublime Text 2 con "show whitespace" attivo? L'ho trovato davvero utile.
Olical,

Non è quello per cui sono venuto qui ma molto utile. Grazie.
Harperville,

4
!Alla fine si possono anche set list!
alternare le

Uso una fodera, :se hls | /\_sper questo. Ottiene tutto mentre set listignora gli spazi. Ripartiamo con :se nohls. Dettagli al riguardo su questo post: albertech.blogspot.com/2015/02/…
vaso

73

Se imposti:

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

e quindi eseguire una ricerca di uno spazio, ogni carattere di spazio verrà mostrato come carattere di sottolineatura.

È possibile utilizzare questo comando in una pratica funzione che attiva "il carattere di sottolineatura" degli spazi.

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

Mappa la funzione su un tasto di scelta rapida con:

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

NB: Definire la funzione in vimrc dopo aver impostato lo schema dei colori.


1
Bene, è un po 'un trucco, ma è più vicino di ogni altra cosa finora. Premio assegnato! : D
ELLIOTTCABLE

45

A seconda delle regole di sintassi per il buffer corrente, qualcosa del genere potrebbe funzionare:

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

Questo ha bisogno di un vim 7.3 con + funzione di occultamento

Aggiornamento 24/10/2014 Per espandere un po 'su questo. È ovviamente possibile definire alcune evidenziazioni per i personaggi nascosti.

  • È possibile configurare l'aspetto dei caratteri nascosti. Per l'evidenziazione, dovresti configurare almeno una volta il gruppo di evidenziazione "Nascondi" (consulta la guida su :h hl-ConcealQuesto può essere fatto nel tuo schema di colori e quindi non è necessario riconfigurarlo di nuovo. Ma questo influisce su tutti i caratteri nascosti (ad esempio se il tuo lo script di sintassi nasconde alcuni elementi in più, verranno visualizzati come caratteri di spazio bianco).

    :hi Conceal ctermfg=7 ctermbg=NONE guifg=LightGrey guibg=NONE

  • Sembra esserci una particolarità che Vim non evidenzierà gli spazi, se lo script di sintassi usa la skipwhiteparola chiave. Non ci sarà modo di aggirare (forse questo sarà risolto, ho pubblicato una patch )

  • Sembra che ci sia una patch fluttuante intorno, che consentirà di personalizzare l'aspetto degli spazi in listmodalità. L'ultimo al momento della stesura sembra essere questo . (Questo significa che devi usare il tuo Vim per usarlo).
  • L' conceallevele concealcursorsono opzioni locali finestra. Ciò significa che possono essere diversi in diverse finestre (e possono anche essere impostati da plugin di tipi di file o altri script di plugin).
  • I gruppi di evidenziazione della sintassi devono essere eseguiti ogni volta che viene ricaricato un file di definizione della sintassi. Questo potrebbe essere fatto usando un BufWinEntero forse anche un Syntaxo FileTypeautocommand. (Non ho testato quale funziona davvero).

Gli ultimi due elementi indicano che dovresti impostare alcuni autocomandi che resettano le regole di sintassi e le opzioni corrispondenti. Per il primo, si potrebbe voler impostare l'evidenziazione usando un ColorSchemeautocommand (in modo che i caratteri nascosti abbiano sempre lo stesso aspetto, indipendentemente da ciò che effettivamente imposta una combinazione di colori). Per una soluzione completa, guarda la risposta romainl, che dovrebbe darti un inizio. Se si imposta una funzione, è possibile impostare facilmente un comando di attivazione / disattivazione per attivare o disattivare la visualizzazione dell'evidenziazione speciale.

Aggiornamento 26/10/2014 Ho creato un plugin da questa domanda.

Aggiornamento 22/04/2015 In Vim è stata inclusa una patch che rende possibile l'utilizzo listdell'opzione. Semplicemente impostato set list listchars+=space:␣ Funziona a partire da Vim 7.4.711


Funziona benissimo! Come si può aggiungere questo .vimrc?
Eric Martindale,

1
Dal momento che funziona sul buffer corrente, probabilmente è necessario inserirlo in un autocommand. BufEnter o anche Syntax autocommand potrebbero funzionare per te:
Christian Brabandt,

3
Æè una strana scelta di carattere per questo, perché no ·?
Marius Gedminas,

1
Questa è in realtà la risposta corretta. Qualche idea su come aggiungere l'evidenziazione della sintassi corretta a questo personaggio? Lo preferirei se fosse molto sbiadito ·
attacco aereo del

@ChristianBrabandt, hai un sacco di file correlati a nrrwrgn che inquinano il tuo repository.
Romainl,

31

Io lo uso

/\s
:set hlsearch

per evidenziare spazi bianchi. Cerca tutti gli spazi bianchi, quindi abilita l'evidenziazione per renderli visibili. Tuttavia, non stampa un carattere speciale.


Imho soluzione più semplice. Ottimo abbinato a un comando per cancellare la ricerca (io uso nnoremap <leader><space> :noh<cr>)
Lenna

24

Se per spazi bianchi intendi il carattere "", il mio suggerimento sarebbe solo una ricerca / sostituzione. Come hanno suggerito gli altri, set listcambia i caratteri non stampabili in un carattere visibile configurato in listchars.

Per mostrare esplicitamente gli spazi come qualche altro personaggio, qualcosa di simile al seguente dovrebbe fare il trucco:

:%s/ /█/g

Quindi annulla la modifica per tornare di nuovo.

(per ottenere il █ ho premuto questa sequenza esatta chiave: :%s/ /CTRL-KFB/g)


2
Mi piace meglio di altre risposte, mi sembra inverso :set list, cambiando il carattere visibile ('spazio') in uno _non priting_ (??). Mi chiedo se si può usare questa partita interna, ad esempio, :match MyBlackBlockChar "appropriate_regexche dovrebbe fare il trucco, non è vero?
Sudhi,

Le altre risposte sono utili, ma questa è la prima che risponde effettivamente alla domanda dell'OP +1
Alexx Roche,

1
O :%s/\s/█/gper tutti gli spazi bianchi. Inoltre, :set hlsearchplus :&s/\s//gnpotrebbe essere utile.

16

Per evidenziare gli spazi, basta cercarlo:

/ <Spazio>

Appunti:

  • <spazio> significa semplicemente digitare il carattere spazio.
  • Abilita l'evidenziazione dei risultati della ricerca con: imposta hlsearch

    Per evidenziare spazi e schede:

    / [<spazio> <tab>]

    Un modo rapido per rimuovere i punti salienti è cercare qualcos'altro: / asdf

    (basta digitare un breve elenco di caratteri casuali)


  • 1
    È la stessa della risposta pubblicata 3 anni prima. Inoltre: noh è più veloce di / asdf per il testo non evidenziato. Oppure potresti anche impostare f1 su: noh dato che probabilmente lo utilizzerai spesso.

    @DrEval Supponendo che ti riferisci alla risposta di Benedikt Köppel, in realtà è leggermente diverso /<space>rispetto a /\s. Penso che non sia ovvio e più veloce usare il suggerimento qui.
    icc97,

    14

    Il codice seguente si basa sulla risposta di Christian Brabandt e sembra fare ciò che l'OP vuole:

    function! Whitespace()
        if !exists('b:ws')
            highlight Conceal ctermbg=NONE ctermfg=240 cterm=NONE guibg=NONE guifg=#585858 gui=NONE
            highlight link Whitespace Conceal
            let b:ws = 1
        endif
    
        syntax clear Whitespace
        syntax match Whitespace / / containedin=ALL conceal cchar=·
        setlocal conceallevel=2 concealcursor=c
    endfunction
    
    augroup Whitespace
        autocmd!
        autocmd BufEnter,WinEnter * call Whitespace()
    augroup END
    

    Aggiungi quelle linee alla tua ~/.vimrce inizia una nuova sessione di Vim per vedere accadere la magia ancora imperfetta .

    Sentiti libero di modificare i colori predefiniti e nascondere il carattere.


    Avvertenza: qualcosa nel *FuncBodygruppo di sintassi in diverse lingue impedisce la visualizzazione del punto medio. Non so (ancora?) Come rendere quella soluzione più affidabile.


    Questo è ciò che intendevo con "a seconda del gruppo di sintassi". Sospetto che questo sia un problema con le parole chiave syn in combinazione con il flag skipwhite.
    Christian Brabandt,

    @ChristianBrabandt, sì, non potrei andare oltre quello che hai già fatto oltre a renderlo "automatico".
    romainl,

    1
    Sì, è l' skipwhiteargomento nelle regole di sintassi, che impedisce la corrispondenza del gruppo di sintassi (sebbene dovrebbe essere consentito che sia contenuto in tutti i gruppi).
    Christian Brabandt,

    C'è un modo per farlo funzionare bene con Indent Guides , che aggiunge sfondo al rientro? Ho il sospetto che si tratti di far sì che questo non prevalga sul colore di sfondo, ma questo sembra essere banale.
    Mike,

    Come disabilitare lo stesso quando non è richiesta l'evidenziazione dello spazio bianco? Alla ricerca di una sorta di comando di commutazione breve.
    yuvaeasy,

    11

    Ero frustrato con tutte le altre risposte a questa domanda, perché nessuna di esse evidenziava il carattere spaziale in modo utile. Mostrare spazi come caratteri sarebbe particolarmente utile per linguaggi formattati in spazi bianchi, in cui la combinazione di schede e spazi è dannosa.

    La mia soluzione è mostrare schede e sottolineare più spazi. Prende in prestito dalla risposta di Mrucci e questo tutorial . Poiché utilizza l'evidenziazione della sintassi, è persistente:

    set list listchars=tab:\|\ 
    highlight Whitespace cterm=underline gui=underline ctermbg=NONE guibg=NONE ctermfg=yellow guifg=yellow
    autocmd ColorScheme * highlight Whitespace gui=underline ctermbg=NONE guibg=NONE ctermfg=yellow guifg=yellow
    match Whitespace /  \+/
    

    Usando questo, le schede vengono visualizzate come |e gli spazi come _, il che rende molto facile dire quando sto mescolando gli stili di codice.

    L'unico aspetto negativo che ho riscontrato è che questo frammento non regola il colore di sfondo in modo che corrisponda al contesto (come in un commento).


    8

    tutte le risposte sopra provano a rendere visibili gli spazi all'interno di vim. Se insisti davvero ad avere spazi visibili come punti, c'è un altro approccio ...

    Se non è possibile farlo in vim, cambia completamente il tuo carattere. Ho copiato il carattere Ubuntu One Mono e l'ho modificato usando FontForge. Ricorda di cambiare il nome completo, la famiglia, la famiglia preferita, il pieno compatibile del carattere (in FontFoge è sotto Nomi TTF nelle informazioni sul carattere), per averlo come carattere separato. Basta modificare il carattere dello spazio per avere un punto nel mezzo e salvare il carattere in ~ / .fonts Ora puoi usarlo per il tuo gvim o l'intero terminale ... Ho copiato il "!" carattere, rimosso la linea e spostato il punto al centro. Ci sono voluti poco più di 5 minuti ...

    Nota: la modifica del carattere dello spazio (0x20) comporta l'inconveniente di avere punti sull'intera schermata di VIM ... (ma separerà gli spazi dalle schede ...)


    2
    Sembrava un approccio davvero valido fino a quando non ho letto la nota sul riempimento dell'intero schermo con punti. : /
    friederbluemle

    3
    Punti per la creatività! :-)
    jpaugh

    7

    Non ho trovato esattamente quello che volevo dalle risposte esistenti. Il codice seguente evidenzia tutti gli spazi finali in rosso vivo. Aggiungi semplicemente quanto segue al tuo.vimrc

    highlight ExtraWhitespace ctermbg=red guibg=red
    match ExtraWhitespace /\s\+$/
    autocmd BufWinEnter * match ExtraWhitespace /\s\+$/
    autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/
    autocmd InsertLeave * match ExtraWhitespace /\s\+$/
    autocmd BufWinLeave * call clearmatches()
    

    5
    :match CursorLine /\s\+/
    

    evita il bit "devi cercare spazi per farli apparire" ma non è possibile configurare afaict per fare cose non oscuranti negli spazi. CursorLine può essere qualsiasi gruppo hilighting e nel tema predefinito è una semplice sottolineatura.


    Non riesco a distinguere tra tab e spazi usando questo metodo, il che è un peccato, ma adoro il fatto che sia una riga.
    Rustavore,

    5

    Mi piace usare caratteri speciali per mostrare spazi bianchi, è più chiaro. Anche una mappa per attivare / disattivare è una funzione chiave, per un controllo rapido.

    Puoi trovare queste funzionalità in un vecchio script vim non aggiornato dal 2004:

    vim-scripts/cream-showinvisibles@vim.org

    Grazie a project vim-script e vundle puoi tornare in vita questo plugin

    vim-scripts / crema-showinvisibles @ github

    Ancora meglio, i miei due centesimi su questo è aggiungere un collegamento configurabile (anziché predefinito F4)

    quindi aggiungi questo a ~ / .vimrc

    Plugin 'albfan/cream-invisibles'
    
    let g:creamInvisibleShortCut = "<F5>" "for my F4 goto next error
    

    installa plugin su vim

    :PluginInstall
    

    e il gioco è fatto


    5

    Per coprire i caratteri degli spazi bianchi Unicode:

    set list
    set listchars=tab:│\ ,nbsp:·
    highlight StrangeWhitespace guibg=Red ctermbg=Red
    " The list is from https://stackoverflow.com/a/37903645 (with `\t`, `\n`, ` `, `\xa0` removed):
    call matchadd('StrangeWhitespace', '[\x0b\x0c\r\x1c\x1d\x1e\x1f\x85\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]')
    

    Il risultato:

    • solo lo spazio ordinale (U + 0020) sembra proprio uno spazio (" ")
    • la scheda (U + 0009) appare come " │ " (due caratteri: una lunga pipa e quindi uno spazio ordinale; sono grigi in colorscheme murphy)
    • lo spazio normale non-break (U + 00A0) sembra " ·" (un carattere; è grigio in colorscheme murphy)
    • qualsiasi altro personaggio degli spazi bianchi sembra rosso " "

    1
    Modificato per aggiungere "ctermbg = Red" per far funzionare il mio terminale per la colorazione. Personalmente ho usato set listchars=tab:»\ ,space:·come riferimento.
    Johnny Wong,

    @JohnnyWong Grazie per l'aggiornamento. Inizialmente è stato respinto dai critici, ma ho controllato il codice, ed è (com'era prevedibile) funziona sia per gvime vim.
    Kirill Bulygin,

    1
    Risposta brillante, questo è esattamente ciò di cui avevo bisogno per catturare spazi non interrotti (Hex 202f) che non vengono riprodotti in Safari e Firefox.
    Chris Kobrzak,

    4

    Puoi usare

    :set list
    

    per vedere davvero la struttura di una linea. Vedrai schede e newline esplicitamente. Quando vedi uno spazio vuoto, è davvero uno spazio vuoto.


    3

    evidenziare la ricerca

    :set hlsearch 
    

    in .vimrcquello è

    e cerca schede spazio e ritorni a capo

    / \|\t\|\r
    

    oppure cerca tutti i caratteri degli spazi bianchi

    /\s
    

    di ricerca di tutti i caratteri non bianchi (i caratteri degli spazi bianchi non vengono visualizzati, quindi vengono visualizzati i caratteri degli spazi bianchi tra le parole, ma non i caratteri degli spazi vuoti finali)

    /\S
    

    per mostrare tutti i caratteri finali dello spazio bianco alla fine della riga

    /\s$
    

    3

    Mantieni questi hack in .vimrc come commenti, quindi nella shell, semplicemente:

    echo '
      " how-to see the non-visible while spaces
      " :set listchars=eol:¬,tab:>·,trail:~,extends:>,precedes:<,space:␣
      " set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<
      " :set list
      " but hei how-to unset the visible tabs ?!
      " :set nolist
      ' >> ~/.vimrc
    

    1
    :se list
    :se nolist
    

    :seè abbastanza, :setnon è necessario.


    1

    puoi anche evidenziare gli spazi (sostituendo gli spazi con un blocco):

    :%s/ /█/g
    

    (prima di scrivere annullalo)


    1

    Aggiungendo questo al mio .vimrc funziona per me. Assicurati solo di non avere nient'altro in conflitto ..

    autocmd VimEnter * :syn match space /\s/
    autocmd VimEnter * :hi space ctermbg=lightgray ctermfg=black guibg=lightgray guifg=black
    
    Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
    Licensed under cc by-sa 3.0 with attribution required.