Tmux

創建視窗時選擇 tmux 會話

  • July 16, 2020

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

你不能使用readfromrun-shell因為它沒有標準輸入。您可以在窗格中執行您的腳本(使用split-window)。或者,如果您使用的是 tmux 3.1,則可以display-menu使用 3.2-rc 或 master 生成菜單,或者使用display-popup.

如果要同時更改會話、視窗和窗格,可以使用該switch-client命令。

引用自:https://unix.stackexchange.com/questions/598751