ci sono alcune risposte qui: /unix/12032/create-new-window-with-current-directory-in-tmux
In sintesi:
dalle FAQ di tmux, un modo ottuso (ma molto generale e indipendente dalla shell):
- Come posso aprire una nuova finestra nella stessa directory della finestra corrente?
Un'opzione è semplicemente eseguire "TMUX = tmux" nella finestra. Tuttavia, questo funziona solo se non è in esecuzione alcun comando, quindi è possibile immettere il comando.
Una soluzione alternativa consiste nel far conoscere a tmux il percorso corrente attraverso una variabile di ambiente. Per fare ciò, utilizzare il seguente comando:
[ -n "$TMUX" ] && tmux setenv TMUXPWD_$(tmux display -p "#I") $PWD
Che imposta TMUXPWD_i (dove i è il numero della finestra corrente) sul percorso della directory corrente. Questo comando può essere aggiunto a PS1, ad esempio:
PS1='$([ -n "$TMUX" ] && tmux setenv TMUXPWD_$(tmux display -p "#I") $PWD)\h$ '
Quando viene creata una nuova finestra, alla shell dovrebbe essere chiesto di cambiare directory. È possibile definire un nuovo binding (ad esempio, se si utilizza GNU bash):
bind-key C-c run-shell 'tmux neww "cd $(tmux display -p "\$TMUXPWD_#I"); exec bash"'
Questa soluzione funzionerà anche se un comando è attualmente in esecuzione nel terminale, ma non funzionerà da una finestra che è stata appena scambiata con un'altra perché TMUXPWD_i non verrà aggiornato dopo uno scambio. Tuttavia, una volta visualizzato un nuovo prompt, TMUXPWD_i viene aggiornato correttamente.
sostituisci semplicemente le chiamate alla shell secondo le tue esigenze.
inoltre, le versioni apparentemente più recenti di tmux hanno risolto questo problema con un comando
tmux new-window
si dice che le versioni precedenti funzionino così:
chiamata
tmux neww
dalla tua shell si aprirà tmux in quella directory.
se si desidera poter aprire nuove finestre o riquadri dalla directory di lavoro corrente in tmux, è necessario invece:
tmux set-option default-path "$ PWD"