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!

unperson325680
fonte

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.

t0d0r
fonte
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.)

Heptite
fonte
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