При создании схемы цветов, какая метка для области ~ под EOF?

12

Я нашел несколько цветовых схем, которые мне нравятся, но некоторые из них имеют функцию, заключающуюся в том, что строки под содержимым файла на дисплее - в ~области - имеют другой цвет фона, как показано на рисунке. Я хочу, чтобы это был тот же фон цвет как обычный текст. При редактировании цветовой схемы какое ключевое слово я ищу, чтобы это исправить?

Я использую MacVim, но я предполагаю, что это универсальный вопрос.

Два разных фона

Coljac
источник

Ответы:

13

Так как Vim 8 есть EndOfBufferизюминка группа для этого; от :help hl-EndOfBuffer:

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

Для более ранних версий Vim это так NonText. От :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).

Я тоже этого не знал. Как я нашел это:

  • Я напечатал :help 'highlight'
  • Я заметил, что есть список с изюминкой «разами» здесь с описанием краткого.
  • Тип /\~для поиска ~персонажа

И :help colorschemeя прочитал:

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

Используя , :highlight clear NonTextкажется, работает для меня.

Мартин Турной
источник
3

Что касается основных групп, я считаю, что это называется NonText. От :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).

Вы, наверное, можете установить его в тот же цвет, что и остальной площади с использованием:

:hi NonText ctermfg=NONE
Мур
источник
Спасибо за ответ. NonTextбыло то, что мне было нужно. Я нашел фрагмент кода не работает, хотя hi NonText ctermbg=NONEделал в соответствии с @ ответом Carpetsmoker в.
Coljac
@Coljac Я запутался. Разве это не то, что я написал?
Муру
Извиняюсь за ошибку вырезать и вставить. Это :highlight clear NonTextсработало (из vim) - хотя, зная «NonText», я смог достаточно легко редактировать схему цветов.
Колжак
Пример @Coljac Muru имел незначительную опечатку: так было ctermbg, но должно быть ctermfg(я исправил это сейчас).
Мартин Турной
@Carpetsmoker, если это работает, меня удивляет цвет. Я думал, что fgприменяется к тексту.
Муру