你怎么知道 Tmux 的哪个窗格是聚焦的?

我开始使用 tmux (我正在考虑从屏幕切换) ,但是当我将一个窗口分割成多个窗格时,我很难判断哪个窗格是被聚焦的。是否有一个配置定制或其他可以更明确地突出显示焦点窗格的东西?

37848 次浏览

Customize status-left and use the #P character pair, which is the pane number. You will probably want to include more than just the pane number in the status bar, but here is an example of the line you would add to your ~/.tmux.conf for just the pane number:

set-option -g status-left '#P'

See the tmux man page for more character pairs: http://manpages.ubuntu.com/manpages/precise/en/man1/tmux.1.html

Here are the relevant settings:

pane-active-border-style fg=colour,bg=colour
Set the pane border colour for the currently active pane.

So, try adding something like this to your ~/.tmux.conf:

set-option -g pane-active-border-style fg=blue

That will set a blue border around the active pane. The pane-active-border-style bg=colour option can be used for a more visible solution, as well.

One Solution that works for me is to add a display-pane at the end of the hotkey for a pane switch. This displays all the pane numbers, with the current pane in a different color. You can also use <escape_key> + q to display pane numbers.

I use alt+h/j/k/l to switch between panes, and I use the following binding.

bind -n M-j select-pane -D \; display-pane
bind -n M-k select-pane -U \; display-pane
bind -n M-h select-pane -L \; display-pane
bind -n M-l select-pane -R \; display-pane

As answered in another post it is now possible in tmux 2.1 to set the colours of individual panes. Ones can use:

set -g window-style 'fg=colour247,bg=colour236'
set -g window-active-style 'fg=colour250,bg=black'

in the ~/.tmux.conf file to show a difference between the active/inactive panes.

With Vim If you find it does not work with Vim panes, it might be down to the colourscheme you are using. First, try another colourscheme such as pablo. For further details, see the other post.

I wanted the active pane's borders to be brighter than other panes, so I went with this (works in tmux 1.8 w/CentOS 7):

~/.tmux.conf fragment

# rgb hex codes from https://www.rapidtables.com/web/color/RGB_Color.html
set-option -g pane-active-border-fg '#33FF33' # brighter green
set-option -g pane-border-fg '#006600' # darker green

The tmux man page says hex-RGB colors will be approximated, and I find the hex codes easier to understand than remembering "colour47" (out of colour0-255) is a kind of light green (as described in How does the tmux color palette work?).

tmux man-page excerpt:

message-bg colour
Set status line message background colour, ...etc...
or a hexadecimal RGB string such as ‘#ffffff’, which chooses the closest
match from the default 256-colour set.

For tmux 3 I was able to set the following in my .tmux.conf for a subtle border indicator:

set-option -g pane-active-border-style bg=yellow