tmuxで「不明なオプション」エラーを削除する方法は?

tmuxで「不明なオプション」エラーを削除する方法は?

変数を設定するbashスクリプトがあります。

tmux setw @tmux_man_pane $pane

この変数を使用するbash関数が初めて呼び出されると、次のようになります。

unknown option: @tmux_man_pane

私はこれを.tmux.confに入れました:

setw -g tmux_man_pane 0

setw -g tmux_cheat_pane 0

しかし、まだエラーが発生します。

コンテキストコード:

tmux_man_page() {
  if [[ "$TERM" =~ 'screen' ]] && [[ -n "$TMUX" ]]; then

    pane=$(tmux showw -v @tmux_man_pane)
    output=$(tmux list-panes -t ${pane} 2>&1)

    if [[ $pane ]] && ! [[ -z "$pane" ]] && ! [[ $output =~ 'find pane' ]]; then
      tmux -q respawn-pane -k -t $pane man $1
    else
      tmux split-window -vf man $1
      pane=$(tmux display-message -p "#{pane_id}")
      tmux setw @tmux_man_pane $pane
      tmux select-pane -t {last}
    fi
  fi
}

答え1

  • showwからshow-optionsへのコマンドの変更
  • -w スイッチをウィンドウオプションとして使用
  • 設定されていない変数によって発生するエラーを抑制するには、-qスイッチを自動オプションとして使用します。

これで、コマンドは次のようになります。

show-options -vwq @tmux_man_pane

答え2

showw と show -w は同じです。

問題は、そのオプションがまだ存在しておらず、最善の方法は、提案されているように-qを追加するか、スクリプトでエラーを処理することです。

初期値を設定するには、ウィンドウがまだ存在せず、1つ以上のエントリを使用する必要があるため、.tmux.confで行う必要はありません(オプションに正しい名前を使用しても!)。フック(おそらくウィンドウ接続)。ただし、まだスクリプトに設定されていないエラーのみを処理することをお勧めします。

関連情報