如果我按下Ctrl-B + s,tmux 会给我一个很好的打开会话概览:
除了Enter允许我切换到所选会话之外,此屏幕还提供哪些命令?例如,我可以直接从此屏幕终止或重命名会话吗?
的默认绑定prefixs是:
bind-key -T prefix s choose-tree -s
Run Code Online (Sandbox Code Playgroud)
所以它确实是关于choose-tree. 这是手册上说的:
Run Code Online (Sandbox Code Playgroud)choose-tree [-GNrswZ] [-F format] [-f filter] [-O sort-order] [-t target-pane] [template]将窗格置于树模式,可以从列表中交互式选择会话、窗口或窗格。
-s从会话折叠和-w窗口折叠开始。-Z缩放窗格。在树模式下可以使用以下键:Run Code Online (Sandbox Code Playgroud)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选择会话、窗口或窗格后,
%%将被模板中的目标替换,并将结果作为命令执行。如果没有给出模板,switch-client -t '%%'则使用。
-O指定初始排序字段:之一index,name或time。-r颠倒排序顺序。-f指定初始过滤器:过滤器是一种格式 - 如果计算结果为零,则不显示列表中的项目,否则显示。如果过滤器会导致一个空列表,它会被忽略。-F指定树中每个项目的格式。-N开始没有预览。-G包括树中任何会话组中的所有会话,而不仅仅是第一个。此命令仅在至少连接了一个客户端时才有效。
并非所有键都适用于旧版本tmux。请参阅man 1 tmux您的操作系统。
我可以直接从此屏幕终止或重命名会话吗?
终止 - 是的,使用x或X。
半直接,使用:和所需的命令,例如:
rename-session -t '%%' fooEnterkill-session -t '%%'Enter或者,您可以调用/绑定您自己的变体,choose-tree这将通过Enter您提供的“杀死”模板杀死会话:
choose-tree -s "kill-session -t '%%'"
Run Code Online (Sandbox Code Playgroud)请注意,您可以为多个项目运行一个命令;你只需t要先标记它们。这可能对 有用kill-session,但对 不太有用rename-session。