Como definir a cor de fundo apenas para a janela ativa do Vim?


16

Um recurso pequeno, mas visualmente agradável, e um pouco mais útil para a usabilidade, gostaria que o Vim usasse cores de fundo diferentes para a janela ativa.

Aqui está um esboço do que estou procurando:

insira a descrição da imagem aqui

Normalmente, o vim teria todo o fundo em preto, mas se a janela ativa tivesse sua própria cor para destacar a atenção do usuário. Destacar apenas a barra de status não é suficiente!

Respostas:


8

Heptite, obrigado pela ideia.

Acabei de substituir o WinEnter e o WinLeave autocmd's para adicionar / remover números de linha na frente de cada linha:

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

Agora é mais elegante rastrear qual janela está ativa.


Isso é legal. Pena que eu não gosto muito de números de linhas, por isso é muito estético.
— Unperson325680

3

Os grupos de destaque que controlam a cor de fundo padrão são " Normal" e " NonText". Infelizmente, esses são os destaques "globais" e não podem ser "localizados" por janela.

No entanto, aqui está um exemplo kludgy verdadeiramente feio:

augroup BgHighlight
    autocmd!
    destaque ActiveWindow guibg =
    luz azul autocmd WinEnter * chamada matchadd ('ActiveWindow', '. *', 10, 1682)
    autocmd WinLeave * chamada matchdelete (1682)
augroup END

doautocmd BgHighlight WinEnter -

Como este é apenas um exemplo, você precisará modificá-lo para atender às suas necessidades individuais, como adicionar um destaque ctermbg = ... junto com o guibg = ...

A desvantagem é que isso destacará apenas o plano de fundo do texto existente nos arquivos, não a linha / janela inteira. (Como eu disse, feio e desleixado.)


Bom pensamento, mas o padrão .*corresponde apenas ao texto de um arquivo; nada do resto do plano de fundo. Além disso, eu só consegui trabalhar no terminal com ctermbgpropriedade. Estranho ...
— unperson325680

Desculpe, eu deveria ter sido mais claro na minha resposta. Eu editei.
— Heptite 9/10/10
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.