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!

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.


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


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.