Wie lautet die Bezeichnung für den ~ Bereich des Bildschirms unter EOF, wenn Sie ein Farbschema erstellen?

12

Ich habe einige Farbschemata gefunden, die mir gefallen, aber einige haben die Funktion, dass die Linien unter dem Inhalt der Datei auf dem Display - dem ~Bereich - eine andere Hintergrundfarbe haben als gezeigt. Ich möchte, dass es der gleiche Hintergrund ist Farbe als normaler Text. Nach welchem ​​Schlüsselwort suche ich beim Bearbeiten des Farbschemas, um dies zu beheben?

Ich verwende MacVim, aber ich gehe davon aus, dass dies eine universelle Frage ist.

Zwei verschiedene Hintergründe

Coljac
quelle

Antworten:

13

Seit Vim 8 gibt es dafür die EndOfBufferHighlight-Gruppe; von :help hl-EndOfBuffer:

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

Für frühere Vim-Versionen ist es NonText. Von :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).

Das wusste ich auch nicht. Wie ich das gefunden habe:

  • Ich tippte :help 'highlight'
  • Mir ist aufgefallen, dass es hier eine Liste mit "Anlässen" mit einer kurzen Beschreibung gibt.
  • Geben Sie ein /\~, um nach dem ~Zeichen zu suchen

Und weiter :help colorschemelas ich:

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

Verwenden :highlight clear NonTextscheint für mich zu funktionieren.

Martin Tournoij
quelle
3

In Bezug auf Highlight-Gruppen glaube ich, dass es heißt NonText. Von :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).

Sie können es wahrscheinlich auf die gleiche Farbe wie den verbleibenden Bereich einstellen, indem Sie:

:hi NonText ctermfg=NONE
muru
quelle
Danke für die Antwort. NonTextwar was ich brauchte. Ich fand, dass das Snippet nicht funktionierte, obwohl hi NonText ctermbg=NONEes der Antwort von @ Carpetsmoker entsprach.
Coljac
@ Coljac Ich bin verwirrt. Ist das nicht genau das, was ich geschrieben habe?
Muru
Entschuldigung für den Fehler beim Ausschneiden und Einfügen. Es hat :highlight clear NonTextfunktioniert (von vim) - obwohl ich "NonText" kannte, konnte ich das Farbschema leicht genug bearbeiten.
Coljac
@Coljac Murus Beispiel hatte einen kleinen Tippfehler: Es war ctermbg, sollte es aber sein ctermfg(ich habe das jetzt behoben).
Martin Tournoij
@ Carpetsmoker Wenn das funktioniert, färbe mich überrascht. Ich dachte fgauf den Text angewendet.
Muru