Quando si crea un sistema di colori, qual è l'etichetta per l'area ~ dello schermo sotto EOF?


12

Ho trovato alcune combinazioni di colori che mi piacciono, ma alcune hanno la caratteristica che le linee sotto il contenuto del file sul display - l' ~area - hanno un colore di sfondo diverso come mostrato .. Voglio che sia lo stesso sfondo colore come testo normale. Quando modifico la combinazione di colori, quale parola chiave sto cercando per risolvere questo problema?

Sto usando MacVim ma presumo che questa sia una domanda universale.

Due sfondi diversi

Risposte:


13

Da Vim 8 esiste il EndOfBuffergruppo di evidenziazione per questo; da :help hl-EndOfBuffer:

EndOfBuffer filler lines (~) after the last line in the buffer.
        By default, this is highlighted like hl-NonText.

Per le versioni precedenti di Vim è NonText. Da :help hl-NonText:

NonText         '~' and '@' at the end of the window, characters from
                'showbreak' and other characters that do not really exist in
                the text (e.g., ">" displayed when a double-wide character
                doesn't fit at the end of the line).

Neanche questo lo sapevo. Come ho trovato questo:

  • Ho scritto :help 'highlight'
  • Ho notato che qui c'è un elenco di "occasioni" in evidenza con una breve descrizione.
  • Digitare /\~per cercare il ~personaggio

E su :help colorschemeho letto:

:hi[ghlight] clear {group-name}
:hi[ghlight] {group-name} NONE
                        Disable the highlighting for one highlight group.  It
                        is _not_ set back to the default colors.

L'uso :highlight clear NonTextsembra funzionare per me.


3

In termini di gruppi di evidenziazione, credo che sia chiamato NonText. Da :he highlight-groups:

                                                        hl-NonText
NonText         '~' and '@' at the end of the window, characters from
                'showbreak' and other characters that do not really exist in
                the text (e.g., ">" displayed when a double-wide character
                doesn't fit at the end of the line).

Probabilmente puoi impostarlo sullo stesso colore dell'area rimanente usando:

:hi NonText ctermfg=NONE

Grazie per la risposta. NonTextera quello di cui avevo bisogno. Ho scoperto che lo snippet non funzionava, ma hi NonText ctermbg=NONEcome nella risposta di @ Carpetsmoker.
Coljac,

@Coljac Sono confuso. Non è esattamente quello che ho scritto?
muru,

Ci scusiamo per l'errore di taglia e incolla. Funzionava :highlight clear NonText(da VIM), anche se sapendo "NonText" sono stato in grado di modificare abbastanza facilmente lo schema dei colori.
Coljac,

L'esempio di @Coljac Muru aveva un piccolo errore di battitura: lo era ctermbg, ma dovrebbe essere ctermfg(l'ho risolto ora).
Martin Tournoij,

@Carpetsmoker se funziona, colorami sorpreso. Ho pensato che fosse fgapplicato al testo.
muru,
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.