如何获取活动的tmux窗口的名称?

问题描述 投票:10回答:3

我想编写一个脚本来获取活动的tmux窗口的名称,并将其用作我的vim会话的变量。这可能吗?我查看了tmux手册并没有看到任何内容。

vim tmux
3个回答
13
投票

您可以使用display-message -p查询活动窗口的名称(以及其他内容):

tmux display-message -p '#W'

如果要定位特定窗口,可以使用-t

tmux -t «target-window» display-message -p '#W'

有关指定目标窗口的各种方法,请参见手册页(在“命令”部分中搜索“目标窗口”)。


0
投票

大纲tmux [-28lquvVC] [-c shell-command] [-f file] [-L socket-name] [-S socket-path] [command [flags]]

跳跃

command [flags]这指定用于控制tmux的一组命令之一,如以下部分所述。如果未指定任何命令,则假定使用new-session命令。

您可以在手册中找到tmux命令的完整列表(最后两个参数),但现在您感兴趣的是“list-windows”。

tmux list-windows
0: zsh [156x40] [layout aebd,156x40,0,0,0] @0
1: mc [156x40] [layout aebe,156x40,0,0,1] @1 (active)

正如您所见,活动窗口标记为“(活动)”。这是你在找什么?


0
投票

首先列出所有窗口名称和活动状态,活动状态将以1结尾,然后在其前面提取名称

 tmux lsw -F '#{window_name}#{window_active}'|sed -n 's|^\(.*\)1$|\1|p'
© www.soinside.com 2019 - 2024. All rights reserved.