tmux 选择树内部可以使用哪些命令?

Jon*_*eez 4 tmux

如果我按下Ctrl-B + s,tmux 会给我一个很好的打开会话概览:

在此处输入图片说明

除了Enter允许我切换到所选会话之外,此屏幕还提供哪些命令?例如,我可以直接从此屏幕终止或重命名会话吗?

Kam*_*ski 9

的默认绑定prefixs是:

bind-key -T prefix s choose-tree -s
Run Code Online (Sandbox Code Playgroud)

所以它确实是关于choose-tree. 这是手册上说的:

choose-tree [-GNrswZ] [-F format] [-f filter] [-O sort-order] [-t target-pane] [template]
Run Code Online (Sandbox Code Playgroud)

将窗格置于树模式,可以从列表中交互式选择会话、窗口或窗格。-s从会话折叠和-w窗口折叠开始。-Z缩放窗格。在树模式下可以使用以下键:

Key    Function
Enter  Choose selected item
Up     Select previous item
Down   Select next item
x      Kill selected item
X      Kill tagged items
<      Scroll list of previews left
>      Scroll list of previews right
C-s    Search by name
n      Repeat last search
t      Toggle if item is tagged
T      Tag no items
C-t    Tag all items
:      Run a command for each tagged item
f      Enter a format to filter items
O      Change sort field
r      Reverse sort order
v      Toggle preview
q      Exit mode
Run Code Online (Sandbox Code Playgroud)

选择会话、窗口或窗格后, %%将被模板中的目标替换,并将结果作为命令执行。如果没有给出模板,switch-client -t '%%'则使用。

-O指定初始排序字段:之一indexnametime-r颠倒排序顺序。-f指定初始过滤器:过滤器是一种格式 - 如果计算结果为零,则不显示列表中的项目,否则显示。如果过滤器会导致一个空列表,它会被忽略。-F指定树中每个项目的格式。-N开始没有预览。-G包括树中任何会话组中的所有会话,而不仅仅是第一个。此命令仅在至少连接了一个客户端时才有效。

并非所有键都适用于旧版本tmux。请参阅man 1 tmux您的操作系统。


我可以直接从此屏幕终止或重命名会话吗?

  • 终止 - 是的,使用xX

  • 半直接,使用:和所需的命令,例如:

    • :rename-session -t '%%' fooEnter
    • :kill-session -t '%%'Enter
  • 或者,您可以调用/绑定您自己的变体,choose-tree这将通过Enter您提供的“杀死”模板杀死会话:

    choose-tree -s "kill-session -t '%%'"
    
    Run Code Online (Sandbox Code Playgroud)

请注意,您可以为多个项目运行一个命令;你只需t要先标记它们。这可能对 有用kill-session,但对 不太有用rename-session

  • 在树模式下使用 : 时不需要使用“-t %%”,因为默认目标将是当前选定的窗格、窗口或会话。 (2认同)