tmux内からデフォルトの新しいウィンドウディレクトリを変更する方法


42

私は最近から移動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}"、現在のディレクトリをデフォルトのディレクトリとして設定するコマンドの新しいバインディングを提供しました。
ありがとう。



ありがとう、それは役に立ちます。new-window -c "#{pane_current_path}"動作していますが、私が必要とするのは、パスを永続的に設定することです。つまり、/ aaa / bbbのプロジェクトで作業していますが、/ ccc / dddと言うようにパスを変更し、Cbとc / aaa / bbbにもう一度着陸します。これに対する解決策はありますか?
-lewiatan

私は個人的に私の最後の3行の追加で大丈夫です.tmux.conf。そのように私は一度フォルダにナビゲートし、そこから私のウィンドウ/スプリットを作成するだけでよいのですが、これはあなたの問題の解決策ではないことを認めます、それが私が答えを投稿しなかった理由です!
ヴィンセントニヴォリエ16年

回答:


61
  1. tmux次のように開始します。

    (cd /aaa/bbb; tmux)
    

    現在、作成する新しいウィンドウ(またはペイン)/aaa/bbbは、現在のペインの現在のディレクトリに関係なく、directory で開始されます。

  2. デフォルトのディレクトリを一度tmux起動して実行したい場合は、で使用attach-session-cます。

    tmuxmanページから引用attach-session

    -c will set the session working directory (used for new windows)
    to working-directory.
    

    例えば:

    • Ctrl+b :

    • attach -c /ddd/eee

    現在のペインのディレクトリ/ddd/eeeに関係なく、新しいウィンドウ(またはペイン)がdirectory で開始されるようになりました。


7
2番目のオプションはまさに私が望んでいたものです。私はattach -c "#{pane_current_path}"スクリーンに持っていたものと同じものを使うつもりです。ありがとう。
-lewiatan

はい!attach -cまさに私が探していたものです。ありがとう
バイロンマンスフィールド

3

選択した回答よりも少し多くの参照を探している人のために、StackOverflowでこの質問に対する別の良い回答がありました。

https://stackoverflow.com/questions/27307815/how-to-change-the-starting-directory-of-a-tmux-session

セッションを離れることなくそれを行うことができる方法を提供し、tmuxをマルチセッション形式で使用する人(私のように)のために、上記の答えはattach/ attach-session動作について少し良いコンテキストを提供します。

使用方法については、両方の回答をご覧ください。両方とも役に立つ/洞察力があることがわかりました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.