Изменение цвета фона активной или неактивной панели в Tmux

Есть ли какие-либо опции для управления цветом фона активных или неактивных панелей в Tmux?

Ответ 1

Похоже, что tmux-2.1 (выпущен 18 октября 2015 г.) теперь позволяет указывать цвета отдельных панелей. Из журнала изменений:

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

например, [из руководства], чтобы изменить передний план панели 1 (текст) на синий, а фон на красный:

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

Для имитации цветовой схемы iTerm:

Чтобы ответить на исходный вопрос, я использую следующие строки в моем ~/.tmux.conf для установки цветов фона/переднего плана, чтобы имитировать поведение в 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

Я раньше не видел команд window-style и window-active-style, но, возможно, они были доступны в предыдущих версиях tmux.

Кроме того, эти две строки очень полезны для простого разделения панелей:

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

РЕДАКТИРОВАТЬ: как Jamie Schembri упоминает в комментариях, tmux версии 2.1 (по крайней мере) теперь будет установлен с:

brew install tmux

РЕДАКТИРОВАТЬ (октябрь 2017 г.): теперь brew устанавливает tmux 2.6, и вышеописанное все еще работает.

РЕДАКТИРОВАТЬ панели Vim: Если вы обнаружите, что "неактивная окраска" не работает с панелью Vim, это может быть связано с используемой вами цветовой схемой. Попробуйте по схеме pablo; то есть в панели Vim:

:colo pablo

Чтобы он работал с вашей собственной пользовательской цветовой ctermbg Vim, убедитесь, что для параметра " Normal выделение" не ctermbg или guibg. Например, "неактивная окраска" не работает с murphy, потому что в murphy.vim есть строка:

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

это устанавливает ctermbg или guibg к Black. Однако, изменив эту строку на:

hi Normal    ctermfg=lightgreen  guifg=lightgreen

заставит "неактивную окраску" работать.

РЕДАКТИРОВАТЬ Июль 2019 Августо предоставил хорошее предложение для изменения цвета фона для номеров строк. В моей vim colourscheme я использую следующее:

hi Normal    guifg=#e6e1de ctermfg=none gui=none
hi LineNr    guifg=#e6e1de ctermfg=none gui=none

Ответ 2

Невозможно изменить цвет фона на панели, но есть возможность установить цвет рамки (стиль) панели

 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.