Ao criar um esquema de cores, qual é o rótulo da área ~ da tela abaixo do EOF?

12

Encontrei alguns esquemas de cores que eu gosto, mas alguns deles têm o recurso de que as linhas abaixo do conteúdo do arquivo na tela - a ~área - têm uma cor de fundo diferente, como mostrado .. Quero que seja o mesmo fundo cor como texto normal. Ao editar o esquema de cores, qual palavra-chave estou procurando para corrigir isso?

Estou usando o MacVim, mas presumo que essa seja uma pergunta universal.

Dois fundos diferentes

Coljac
fonte

Respostas:

13

Desde o Vim 8, existe o EndOfBuffergrupo de destaque para isso; de :help hl-EndOfBuffer:

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

Para versões anteriores do Vim é NonText. De :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).

Também não sabia disso. Como eu encontrei isso:

  • Eu digitei :help 'highlight'
  • Notei que há uma lista com destaque "ocasiões" aqui com uma breve descrição.
  • Digite /\~para procurar o ~caractere

E :help colorschemeeu li:

: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.

Usar :highlight clear NonTextparece funcionar para mim.

Martin Tournoij
fonte
3

Em termos de grupos de destaque, acredito que seja chamado NonText. De :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).

Você provavelmente pode configurá-lo para a mesma cor que a área restante usando:

:hi NonText ctermfg=NONE
muru
fonte
Obrigado pela resposta. NonTextera o que eu precisava. Descobri que o trecho não funcionava, embora funcionasse hi NonText ctermbg=NONEconforme a resposta do @ Carpetsmoker.
Coljac
@ Coljac Estou confuso. Não foi exatamente isso que escrevi?
Muru
Desculpas pelo erro de recortar e colar. Foi o :highlight clear NonTextque funcionou (do vim) - embora sabendo "NonText" eu era capaz de editar o esquema de cores com bastante facilidade.
Coljac
O exemplo de @coljac Muru teve um erro de digitação menor: foi ctermbg, mas deveria ser ctermfg(eu consertei isso agora).
Martin Tournoij
@Carpetsmoker se isso funcionar, me surpreenda. Eu pensei fgaplicado ao texto.
Muru