web-dev-qa-db-fra.com

Changer la couleur d'arrière-plan du volet actif ou inactif dans Tmux

Existe-t-il des options pour contrôler la couleur d'arrière-plan des volets actifs ou inactifs dans Tmux?

39
Elijah Lynn

Il semble que tmux-2.1 (publié le 18 octobre 2015) permette désormais de spécifier les couleurs des volets individuels. Depuis le changelog :

* 'select-pane' now understands '-P' to set window/pane background colours.

par exemple. [du manuel] pour changer le premier plan (texte) du volet 1 en bleu et l'arrière-plan en rouge, utilisez:

select-pane -t:.1 -P 'fg=blue,bg=red'

Pour imiter le schéma de couleurs iTerm:

Pour répondre à la question d'origine, j'utilise les lignes suivantes dans mon ~/.tmux.conf pour définir les couleurs d'arrière-plan/de premier plan afin d'imiter le comportement dans iTerm :

#set inactive/active window styles
set -g window-style 'fg=colour247,bg=colour236'
set -g window-active-style 'fg=colour250,bg=black'

# set the pane border colors 
set -g pane-border-fg colour235
set -g pane-border-bg colour238
set -g pane-active-border-fg colour236 
set -g pane-active-border-bg colour250 

#or if you a brighter active border, uncomment the following line:
#set -g pane-active-border-bg colour51

Je n'avais pas vu le window-style et window-active-style avant, mais elles étaient peut-être disponibles dans les versions précédentes de tmux.

En outre, ces deux lignes sont très utiles pour diviser facilement les volets:

bind | split-window -h
bind - split-window -v

[~ # ~] modifier [~ # ~] : comme Jamie Schembri mentionne dans les commentaires, tmux version 2.1 (à sera désormais installé avec:

brew install tmux

EDIT (octobre 2017) : brew installe maintenant tmux 2.6, et ce qui précède fonctionne toujours.

MODIFIER les volets Vim : Si vous trouvez que la "coloration inactive" ne fonctionne pas avec un volet Vim, cela peut être dû à la palette de couleurs que vous utilisez. Essayez avec le schéma pablo; c'est-à-dire dans le volet Vim:

:colo pablo

Pour le faire fonctionner avec votre propre schéma de couleurs Vim personnalisé, assurez-vous que le paramètre de surlignage Normal n'a pas ctermbg ou guibg spécifié. Par exemple, la "coloration inactive" ne fonctionne pas avec le schéma de couleurs murphy, car dans murphy.vim il y a la ligne:

hi Normal    ctermbg=Black   ctermfg=lightgreen   guibg=Black   guifg=lightgreen

qui définit ctermbg ou guibg sur Black. Cependant, changer cette ligne en:

hi Normal    ctermfg=lightgreen  guifg=lightgreen

fera fonctionner la "coloration inactive".

EDIT juillet 2019 Augusto a fourni une bonne suggestion pour également changer la couleur d'arrière-plan des numéros de ligne. Ce que j'utilise dans mon schéma de couleurs vim est le suivant:

hi Normal    guifg=#e6e1de ctermfg=none gui=none
hi LineNr    guifg=#e6e1de ctermfg=none gui=none
77
dean.

Il n'y a pas d'option pour changer la couleur d'arrière-plan d'un volet, mais il y a une option pour définir la couleur de bordure du volet (style)

 pane-active-border-style style
                     Set the pane border style for the currently active 
pane.  For how to specify style, see the message-command-style option. 
 Attributes are ignored.


 pane-border-style style
                     Set the pane border style for paneas aside from the 
active pane.  For how to specify style, see the message-command-style option. 
 Attributes are
                     ignored.
4
Kent