web-dev-qa-db-ja.com

Tmuxのアクティブまたは非アクティブなペインの背景色を変更する

Tmuxのアクティブまたは非アクティブなペインの背景色を制御するオプションはありますか?

39
Elijah Lynn

tmux-2.1 (2015年10月18日リリース)により、個々のペインの色を指定できるようになりました。 changelog から:

* '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バージョンで使用できた可能性があります。

また、これらの2行は、ペインを簡単に分割するのに非常に便利です。

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

[〜#〜] edit [〜#〜]:as Jamie Schembri コメント内の言及、tmuxバージョン2.1(at少なくとも)これでインストールされます:

brew install tmux

EDIT(2017年10月):brewはtmux 2.6をインストールするようになりましたが、上記は引き続き動作します。

Vimペインの編集:「非アクティブなカラーリング」がVimペインで機能しない場合は、使用しているカラースキームが原因である可能性があります。 pabloスキームで試してください。つまり、Vimペインで:

:colo pablo

独自のカスタムVimカラースキームで動作させるには、Normal強調表示の設定にctermbgまたはguibgが指定されていないことを確認してください。例として、murphy.vimには次の行があるため、「非アクティブなカラーリング」はmurphyカラースキームでは機能しません。

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

ctermbgまたはguibgBlackに設定します。ただし、この行を次のように変更します。

hi Normal    ctermfg=lightgreen  guifg=lightgreen

「非アクティブなカラーリング」を機能させます。

2019年7月編集Augusto は、行番号の背景色も変更するための良い提案を提供しました。私のvimカラースキームで使用しているものは次のとおりです。

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

ペインの背景色を変更するオプションはありませんが、ペインの境界線の色(スタイル)を設定するオプションがあります

 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