【问题标题】:How can you tell which pane in Tmux is focused?你怎么知道 Tmux 中的哪个窗格是焦点?
【发布时间】:2011-06-20 20:33:20
【问题描述】:

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

【问题讨论】:

    标签: tmux


    【解决方案1】:

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

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

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

    【讨论】:

    • 啊,刚刚意识到您要在焦点窗格上突出显示,而不仅仅是状态指示器。希望这对现在有所帮助。很抱歉误读了这个问题。
    【解决方案2】:

    以下是相关设置:

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

    所以,尝试在您的~/.tmux.conf 中添加类似这样的内容:

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

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

    【讨论】:

    • 我在手册页上没有看到这个选项,而且我的 tmux 版本也无法识别它。
    • 好的,谢谢你告诉我。烦人的是,tmux 似乎没有(?)有办法告诉你你正在运行哪个版本。
    • @dan 哈哈,我也注意到了。具有讽刺意味的是,我认为这是 1.4 中添加的功能之一:tmux -V。如果您使用的是 Ubuntu 或基于 debian 的系统,您可以通过dpkg -l | grep tmux 进行检查。
    • 这似乎是最好的答案,不幸的是,如果您只有一个拆分,它所做的只是为分隔线着色,并且无论哪个窗格处于活动状态,它都不会改变。
    • 请注意,这在更新的版本中已修复。它现在只着色一半的分隔线,具体取决于您所在的面板。
    【解决方案3】:

    对我有用的一个解决方案是在热键的末尾添加一个显示窗格以进行窗格切换。这将显示所有窗格编号,当前窗格以不同颜色显示。您还可以使用<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  
    

    【讨论】:

      【解决方案4】:

      正如another post 中的回答,现在可以在 tmux 2.1 中设置各个窗格的颜色。可以使用:

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

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

      使用 Vim 如果您发现它不适用于 Vim 窗格,可能与您使用的配色方案有关。首先,尝试另一种配色方案,例如pablo。有关详细信息,请参阅other post

      【讨论】:

      • @Solidak 这可能是您使用的 Vim 颜色方案 - 请参阅另一篇文章了解更多详情。
      • 奇怪的是选项是“window-style”和“window-active-style”,但它指的是 tmux 窗格,而不是 tmux 窗口。
      【解决方案5】:

      我希望活动窗格的边框比其他窗格更亮, 所以我选择了这个(在 tmux 1.8 w/CentOS 7 中工作):

      ~/.tmux.conf 片段

      # 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
      

      tmux 手册页说 hex-RGB 颜色将是近似的,我发现十六进制代码比记住“colour47”(颜色 0-255 之外)是一种浅绿色(如 How does the tmux color palette work? 中所述)更容易理解)。

      tmux 手册页摘录:

      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.
      

      【讨论】:

        【解决方案6】:

        对于 tmux 3,我可以在我的 .tmux.conf 中设置以下内容以获得微妙的边框指示器:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-04-17
          • 2013-11-19
          • 1970-01-01
          • 1970-01-01
          • 2015-05-25
          相关资源
          最近更新 更多