Hier gibt es einige Antworten: /unix/12032/create-new-window-with-current-directory-in-tmux
Zusammenfassend:
Aus den tmux-FAQ geht hervor, dass ein stumpfer (aber sehr allgemeiner und ziemlich Shell-unabhängiger) Weg:
- Wie kann ich ein neues Fenster im selben Verzeichnis wie das aktuelle Fenster öffnen?
Eine Möglichkeit besteht darin, einfach "TMUX = tmux" im Fenster auszuführen. Dies funktioniert jedoch nur, wenn kein Befehl ausgeführt wird, sodass Sie den Befehl eingeben können.
Eine Problemumgehung besteht darin, tmux über den aktuellen Pfad durch eine Umgebungsvariable zu informieren. Verwenden Sie dazu den folgenden Befehl:
[ -n "$TMUX" ] && tmux setenv TMUXPWD_$(tmux display -p "#I") $PWD
Dadurch wird TMUXPWD_i (wobei i die Nummer des aktuellen Fensters ist) auf den Pfad des aktuellen Verzeichnisses gesetzt. Dieser Befehl kann zu PS1 hinzugefügt werden, zum Beispiel:
PS1='$([ -n "$TMUX" ] && tmux setenv TMUXPWD_$(tmux display -p "#I") $PWD)\h$ '
Wenn ein neues Fenster erstellt wird, sollte die Shell aufgefordert werden, das Verzeichnis zu wechseln. Sie können eine neue Bindung definieren (z. B. wenn Sie GNU bash verwenden):
bind-key C-c run-shell 'tmux neww "cd $(tmux display -p "\$TMUXPWD_#I"); exec bash"'
Diese Lösung funktioniert auch dann, wenn derzeit ein Befehl im Terminal ausgeführt wird. Sie funktioniert jedoch nicht in einem Fenster, das gerade gegen ein anderes ausgetauscht wurde, da TMUXPWD_i nach einem Austausch nicht aktualisiert wird. Sobald jedoch eine neue Eingabeaufforderung angezeigt wird, wird TMUXPWD_i ordnungsgemäß aktualisiert.
Ersetzen Sie einfach die für Sie geeigneten Aufrufe der Shell.
Auch anscheinend neuere Versionen von tmux haben dies mit einem Befehl behoben
tmux new-window
ältere Versionen sollen so funktionieren:
Berufung
tmux neww
von Ihrer Shell wird tmux in diesem Verzeichnis öffnen.
Wenn Sie neue Fenster oder Fenster aus dem aktuellen Arbeitsverzeichnis in tmux öffnen möchten, sollten Sie stattdessen:
tmux set-option Standardpfad "$ PWD"