web-dev-qa-db-ja.com

tmuxで現在のディレクトリのターミナルを開く

現時点では、簡単な.bashrcファイルがあります。これにより、tmuxを実行している同じ端末を(実際に再起動して)常に開くことができます。重要な部分を以下に示します。

これの本質は、tmux attach -dを実行すると、実行中のtmuxセッションを切断し、開いているターミナルウィンドウを事実上閉じます(tmuxコマンドで開いたため)。 tmuxはまだ実行中です。そのため、tmux attach -dを指定して端末を呼び出すと、tmux構成ファイルの小さな行のおかげでそのセッションが再度開かれます。

これはうまく機能しますが、「ここでターミナルを開く」をクリックしたディレクトリでターミナルウィンドウを開く機能を元に戻したいと思います。

私は次のことをしなければならないことを理解しています:

  1. tmuxに「C-m C」と伝えます(新しいパネルを作成します)
  2. cd現在のディレクトリへ

これは可能ですか?私はこの種のことについて非常に限られた知識しか持っていないので、私は尋ねています。

私は周りを見回して、 this Gist (以下に示す)を見つけました。理にかなっていますが、${TARGET}ファイル内で.bashrc変数を取得する方法がわかりません。

。bashrc

116 # Start tmux every time we call up a terminal
117 [[ $TERM != "screen" ]] && exec tmux attach -d

tmux.conf

  1 #if run as "tmux attach", create a session if one does not already exist
  2 new-session -n $Host

Gistファイル

tmux_pwd () {
    [ -z "${TMUX}" ] && return
    TARGET=\-t$(tmux display-message -p "#S")
    tmux set-window-option ${TARGET} default-path $PWD > /dev/null
    (( sleep 300;
    tmux set-window-option ${TARGET} default-path  ~/Development > /dev/null; ) & ) > /dev/null 2>&1
}
alias pwd="\pwd; tmux_pwd"

Tmuxは常に現在の作業ディレクトリで開きます。

同様に、/ home/user/Desktop /にいる場合、tmuxセッションはこのパスからのみ開始されます。

そして質問を詳しく説明してください。

1
Dishank Jindal