是否有任何选项可以控制Tmux中活动或非活动窗格的背景颜色?
答案 0 :(得分:74)
似乎tmux-2.1(2015年10月18日发布)现在允许指定单个窗格的颜色。来自changelog:
* 'select-pane' now understands '-P' to set window/pane background colours.
e.g。 [从手册]将窗格1的前景(文本)更改为蓝色,将背景更改为红色使用:
select-pane -t:.1 -P 'fg=blue,bg=red'
要回答原始问题,我在~/.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年10月):brew现在安装tmux 2.6,以上仍然有效。
编辑Vim窗格:如果您发现"非活动着色"不适用于Vim窗格,可能是由于您使用的colourscheme。试试pablo
计划;即在Vim窗格中:
:colo pablo
要使其与您自己的自定义Vim colourscheme一起使用,请确保Normal
突出显示的设置没有指定ctermbg
或guibg
。例如,"非活动着色"不适用于murphy
colourscheme,因为在murphy.vim
中有一行:
hi Normal ctermbg=Black ctermfg=lightgreen guibg=Black guifg=lightgreen
将ctermbg
或guibg
设置为Black
。但是,将此行更改为:
hi Normal ctermfg=lightgreen guifg=lightgreen
将使"无效着色"工作
答案 1 :(得分:4)
没有选项可以更改窗格的背景颜色,但可以选择设置窗格边框颜色(样式)
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.
答案 2 :(得分:0)
我设法使用tmux HOOKS更改了活动窗口的背景颜色。
https://man7.org/linux/man-pages/man1/tmux.1.html#HOOKS
# turn on focus-events to use pane-focus-in and pane-focus-out hooks
set -g focus-events on
# when a pane is focused, change the background color of the pane to red
set-hook -g pane-focus-in "select-pane -P bg=red"
# when a pane is unfocused, change the background color of all panes to black
set-hook -g pane-focus-out "setw synchronize-panes on \; select-pane -P bg=black \; setw synchronize-panes off"
我正在使用tmux 3.1b
。
答案 3 :(得分:-1)
# highlight focused pane (tmux >= 2.1), possible values are:
# - true
# - false (default)
tmux_conf_theme_highlight_focused_pane=true
# focused pane colours:
#tmux_conf_theme_focused_pane_fg='default'
tmux_conf_theme_focused_pane_bg='#191919'