创建窗口时选择 tmux 会话

创建窗口时选择 tmux 会话

tmux 将在当前会话下创建新窗口(使用绑定键 c)。我想在创建窗口时选择会话。

该脚本在直接运行时工作正常,但在使用 bind key 从 tmux 调用时失败 bind-key C run-shell '~/tmux/tmux.window.sh'。输出是'tmux/tmux.window.sh' returned 1

#!/bin/sh

export PATH=$PATH:/usr/local/bin

# present menu for user to choose which workspace to open
PS3="option: "
options=($(tmux list-sessions -F "#S") "in new session" )
select opt in "${options[@]}"
do
    case $opt in
        "in new session")
            read -p "new session: " SESSION_NAME
            TMUX=  tmux new -s "$SESSION_NAME"
            break
            ;;
        *)
            tmux new-window -t ${opt}:
            tmux attach-session -t ${opt}
            break
            ;;
    esac
done

答案1

您不能使用readfromrun-shell因为它没有标准输入。您可以在窗格中运行脚本(使用split-window)。或者,如果您使用 tmux 3.1,您可以生成一个菜单,display-menu或者如果使用 3.2-rc 或 master 使用弹出窗口display-popup

如果您想一起更改会话、窗口和窗格,您可以使用该switch-client命令。

相关内容