13

Небольшая, но визуально приятная функция и немного увеличивающая удобство использования, я бы хотел, чтобы Vim использовал другой цвет фона для активного окна.

Вот эскиз того, что я после:

Обычно у этого vim весь фон будет черным, но если бы только у активного окна был свой цвет, чтобы привлечь внимание пользователя. Выделение только строки состояния недостаточно!

2 ответа2

6

Гептит, спасибо за идею.

Я просто заменяю WinEnter и WinLeave autocmd для добавления / удаления номеров строк перед каждой строкой:

augroup BgHighlight
    autocmd!
    autocmd WinEnter * set number
    autocmd WinLeave * set nonumber
augroup END

Теперь более стильно отслеживать, какое окно активно.

3

Группами выделения, которые управляют цветом фона по умолчанию, являются « Normal » и « NonText ». К сожалению, это "глобальные" моменты, которые нельзя "локализовать" для каждого окна.

Тем не менее, вот действительно уродливый грязный пример:

augroup BgHighlight
    autocmd!
    выделите ActiveWindow guibg = lightblue
    autocmd WinEnter * call matchadd('ActiveWindow', '.*, 10, 1682)
    autocmd WinLeave * call matchdelete(1682)
augroup END

doautocmd BgHighlight WinEnter -

Так как это всего лишь пример, вам придется изменить это в соответствии с вашими индивидуальными потребностями, например, добавив выделение ctermbg = ... вместе с guibg = ...

Недостаток заключается в том, что при этом будет выделен только фон существующего текста в файлах, а не вся строка / окно. (Как я уже сказал, уродливый и грязный.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .