Kiedy tworzysz schemat kolorów, jaka jest etykieta w obszarze ~ ekranu poniżej EOF?

12

Znalazłem kilka schematów kolorów, które lubię, ale niektóre z nich mają tę cechę, że linie poniżej zawartości pliku na wyświetlaczu - ~obszar - mają inny kolor tła, jak pokazano. Chcę, aby było to to samo tło kolor jak normalny tekst. Jakie słowo kluczowe szukam podczas edycji schematu kolorów, aby to naprawić?

Używam MacVima, ale zakładam, że jest to uniwersalne pytanie.

Dwa różne tła

Coljac
źródło

Odpowiedzi:

13

Od Vima 8 istnieje EndOfBufferdo tego grupa wyróżnień; z :help hl-EndOfBuffer:

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

W przypadku wcześniejszych wersji Vima jest to NonText. Od :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).

Też tego nie wiedziałem. Jak to znalazłem:

  • Wpisałem :help 'highlight'
  • Zauważyłem, że jest tu lista z wyróżnionymi „okazjami” z krótkim opisem.
  • Wpisz, /\~aby wyszukać ~znak

I dalej :help colorschemeczytam:

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

Używanie :highlight clear NonTextwydaje mi się działać.

Martin Tournoij
źródło
3

Jeśli chodzi o grupy wyróżnień, uważam, że tak się nazywa NonText. Od :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).

Prawdopodobnie możesz ustawić ten sam kolor co pozostały obszar, używając:

:hi NonText ctermfg=NONE
muru
źródło
Dziękuję za odpowiedź. NonTextbyło to, czego potrzebowałem. Okazało się, że fragment hi NonText ctermbg=NONEkodu nie działa, ale działał zgodnie z odpowiedzią @ Carpetsmoker.
Coljac
@Coljac Jestem zdezorientowany. Czy nie to dokładnie napisałem?
muru
Przepraszamy za błąd wycinania i wklejania. To :highlight clear NonTextdziałało (z vima) - choć znając „NonText” byłem w stanie dość łatwo edytować schemat kolorów.
Coljac
Przykład @Coljaca Muru zawierał niewielką literówkę: było ctermbg, ale powinno być ctermfg(naprawiłem to teraz).
Martin Tournoij
@Carpetsmoker, jeśli to działa, pokoloruj mnie zaskoczony. Myślałem, że fgzastosowane do tekstu.
muru