Comment définir la couleur d'arrière-plan pour la fenêtre active de Vim uniquement?

16

Une fonctionnalité petite mais visuellement agréable, et ajoutant légèrement à la convivialité, j'aimerais que Vim utilise une couleur d'arrière-plan différente pour la fenêtre active.

Voici un aperçu de ce que je recherche:

entrez la description de l'image ici

Normalement, ce vim aurait tout l'arrière-plan en noir, mais si seulement la fenêtre active avait sa propre couleur pour mettre en évidence l'attention de l'utilisateur. Surligner uniquement la barre d'état ne suffit pas!

unperson325680
la source

Réponses:

8

Heptite, merci pour l'idée.

Je remplace simplement WinEnter et WinLeave autocmd pour ajouter / supprimer des numéros de ligne devant chaque ligne:

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

Il est maintenant plus élégant de suivre quelle fenêtre est active.

t0d0r
la source
C'est cool. Dommage que je n'aime pas trop les numéros de ligne, donc c'est trop inesthétique.
unperson325680
3

Les groupes de surbrillance qui contrôlent la couleur d'arrière-plan par défaut sont " Normal" et " NonText". Malheureusement, ce sont des faits saillants "globaux" et ne peuvent pas être "localisés" par fenêtre.

Cependant, voici un exemple kludgy vraiment laid:

augroup BgHighlight
    autocmd!
    Mettez en surbrillance ActiveWindow guibg = bleu clair
    autocmd WinEnter * appel matchadd ('ActiveWindow', '. *', 10, 1682)
    autocmd WinLeave * appel matchdelete (1682)
augroup END END

doautocmd BgHighlight WinEnter -

Comme il ne s'agit que d'un exemple, vous devrez le modifier en fonction de vos besoins individuels, comme l'ajout d'un surlignage ctermbg = ... avec le guibg = ...

L'inconvénient est que cela ne fera que mettre en évidence l'arrière-plan du texte existant dans les fichiers, pas toute la ligne / fenêtre. (Comme je l'ai dit, moche et maladroit.)

Heptite
la source
Belle réflexion, mais le motif .*ne correspond qu'au texte d'un fichier; rien du reste de l'arrière-plan. De plus, je l'ai seulement fait fonctionner dans un terminal avec ctermbgpropriété. Bizarre ...
unperson325680
Désolé, j'aurais dû être plus clair dans ma réponse. Je l'ai édité.
Heptite