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

时间:2014-05-27 21:04:37

标签: vim tmux

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

3 个答案:

答案 0 :(得分:13)

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

tmux display-message -p '#W'

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

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

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

答案 1 :(得分:0)

  

<强>概要      tmux [-28lquvVC] [-c shell-command] [-f file] [-L socket-name] [-S socket-path] [command [flags]]

SKIP

  

命令[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)

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

答案 2 :(得分:0)

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

 tmux lsw -F '#{window_name}#{window_active}'|sed -n 's|^\(.*\)1$|\1|p'