Lors de la création d'un schéma de couleurs, quelle est l'étiquette de la zone ~ de l'écran sous EOF?

12

J'ai trouvé des schémas de couleurs que j'aime, mais certains d'entre eux ont la particularité que les lignes sous le contenu du fichier à l'écran - la ~zone - ont une couleur d'arrière-plan différente comme indiqué .. Je veux que ce soit le même arrière-plan couleur comme texte normal. Lors de la modification du jeu de couleurs, quel mot clé recherche-je pour résoudre ce problème?

J'utilise MacVim mais je suppose que c'est une question universelle.

Deux horizons différents

Coljac
la source

Réponses:

13

Depuis Vim 8, il y a le EndOfBuffergroupe de mise en évidence pour cela; de :help hl-EndOfBuffer:

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

Pour les versions antérieures de Vim, c'est 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).

Je ne le savais pas non plus. Comment j'ai trouvé ça:

  • j'ai tapé $ :help 'highlight'
  • J'ai remarqué qu'il y a une liste avec des "occasions" en surbrillance ici avec une brève description.
  • Tapez /\~pour rechercher le ~personnage

Et :help colorschemeje lis:

: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'utilisation :highlight clear NonTextsemble fonctionner pour moi.

Martin Tournoij
la source
3

Pour ce qui est des groupes de faits saillants, je crois que cela s'appelle 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).

Vous pouvez probablement le définir sur la même couleur que la zone restante en utilisant:

:hi NonText ctermfg=NONE
muru
la source
Merci d'avoir répondu. NonTextétait ce dont j'avais besoin. J'ai trouvé que l'extrait de hi NonText ctermbg=NONEcode ne fonctionnait pas, bien que ce soit selon la réponse de @ Carpetsmoker.
Coljac
@Coljac, je suis confus. N'est-ce pas exactement ce que j'ai écrit?
muru
Toutes mes excuses pour l'erreur de copier-coller. C'est ce :highlight clear NonTextqui a fonctionné (de vim) - bien que connaissant "NonText", j'ai pu modifier le schéma de couleurs assez facilement.
Coljac le
L'exemple de @Coljac Muru avait une faute de frappe mineure: il l'était ctermbg, mais devrait l'être ctermfg(j'ai corrigé cela maintenant).
Martin Tournoij
@Carpetsmoker si cela fonctionne, coloriez-moi surpris. J'ai pensé fgappliqué au texte.
muru le