最近 GNU画面 から tmux に移動しました。
かなり似ていますが、サポートが大きくなっています( neovimでのエスケープ時間の問題のために切り替えました -解決はtmuxのみでした)。
残念ながら、tmuxではこれに似たコマンドを見つけることができません。
_screen -X eval "chdir $(some_dir)"
_
上記のコマンドは、GNU画面内から新しいウィンドウ/画面/ペインのデフォルトディレクトリを変更したので、 Ctrl+a (tmuxと同様 Ctrl+b)-$(some_dir)
ディレクトリに新しいウィンドウが開きます。
Tmuxにも同様のものはありますか?
回答:
@ Lqueryvg回答を使用し、コメントからの@Vincent Nivoliersの提案と組み合わせて、現在のディレクトリをデフォルトとして設定するコマンド_attach -c "#{pane_current_path}"
_の新しいバインディングを取得しました。
ありがとうございます。
次のようにtmux
を開始します。
(cd /aaa/bbb; tmux)
これで、作成する新しいウィンドウ(またはペイン)は、現在のペインの現在のディレクトリに関係なく、/aaa/bbb
ディレクトリから始まります。
tmux
の起動後にデフォルトディレクトリを変更する場合は、attach-session
と-c
を組み合わせて使用します。
attach-session
のtmux
manページからの引用:
-c will set the session working directory (used for new windows)
to working-directory.
例えば:
Ctrl+b:
attach -c /ddd/eee
新しいウィンドウ(またはペイン)は、現在のペインのディレクトリに関係なく、ディレクトリ/ddd/eee
で開始されます。
選択した回答が提供するよりも少し多くの参照を探している可能性がある人のために、StackOverflowでこの質問に対する別の良い回答がありました:
https://stackoverflow.com/questions/27307815/how-to-change-the-starting-directory-of-a-tmux-session
これは、セッションを終了せずにそれを行うことができる方法を提供します。また、(私のような)マルチセッション形式でtmuxを使用する人にとって、上記の答えは、attach
/attach-session
機能します。
それぞれの使用方法については、利用可能な両方の回答を参照してください。どちらも参考になりました。