如何判断Tmux中的哪个窗格是关注的?

dan*_*dan 79 tmux

我开始使用tmux(我正在考虑从屏幕切换),但是当我将一个窗口分成多个窗格时,我很难说出哪个窗格是聚焦的.是否有配置自定义或可以更明确地突出显示焦点窗格的内容?

Ala*_*mas 96

以下是相关设置:

pane-active-border-bg colour

pane-active-border-fg colour
    Set the pane border colour for the currently active pane.
Run Code Online (Sandbox Code Playgroud)

所以,尝试将以下内容添加到您的~/.tmux.conf:

set-option -g pane-active-border-fg blue
Run Code Online (Sandbox Code Playgroud)

这将在活动窗格周围设置蓝色边框.该pane-active-border-bg选项也可用于更明显的解决方案.

  • 这似乎是最好的答案,不幸的是,如果您只有一个分割,它所做的就是为分隔符着色,无论哪个窗格处于活动状态,它都不会改变. (12认同)
  • @dan哈哈,我也注意到了.具有讽刺意味的是,我认为这是1.4中添加的功能之一:`tmux -V`.如果您使用的是Ubuntu或基于debian的系统,可以使用`dpkg -l |进行检查 grep tmux`. (3认同)
  • 请注意,这在较新版本中已得到修复.它现在只为分隔符的一半着色,具体取决于您所在的面板. (3认同)
  • 我的手册页上没有看到这个选项,我的 tmux 版本也无法识别它。 (2认同)
  • 好的,谢谢你让我知道.令人讨厌的是,tmux似乎无法(?)显示您正在运行的版本. (2认同)
  • 语法已更改(参考:https://github.com/tmux/tmux/issues/1689)。它将是“pane-active-border-style fg=blue”等。如果您可以编辑答案,那就太好了。非常感谢。 (2认同)

dea*_*an. 29

正如另一篇文章所述,现在可以在tmux 2.1中设置各个窗格的颜色.一个人可以使用:

set -g window-style 'fg=colour247,bg=colour236'
set -g window-active-style 'fg=colour250,bg=black'
Run Code Online (Sandbox Code Playgroud)

~/.tmux.conf文件中显示活动/非活动窗格之间的差异.

使用Vim如果您发现它不适用于Vim窗格,则可能会使用您正在使用的colourscheme.首先,尝试另一种颜色,例如pablo.有关详细信息,请参阅其他帖子.


Ala*_*mas 13

自定义status-left并使用#P字符对,即窗格编号.您可能希望在状态栏中不仅包含窗格编号,而且这里只是窗格编号中添加的行的示例~/.tmux.conf:

set-option -g status-left '#P'
Run Code Online (Sandbox Code Playgroud)

有关更多字符对,请参见tmux手册页:http://manpages.ubuntu.com/manpages/precise/en/man1/tmux.1.html


小智 5

一个适合我的解决方案是在热键的末尾添加一个显示窗格,用于窗格切换.这将显示所有窗格编号,当前窗格采用不同的颜色.您还可以使用<escape_key> + q显示窗格编号.

alt+h/j/k/l用来在窗格之间切换,我使用以下绑定.

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  
Run Code Online (Sandbox Code Playgroud)