Cara melakukannya adalah dengan melepaskan dari sesi (^b d
dengan keybindings default) dan kemudian tentukan direktori yang berbeda saat Anda memasangnya kembali. Saat melampirkan ke sesi, gunakan -c
bendera untuk menentukan direktori kerja. Berikut contohnya:
$ tmux list-sessions
tmuxwtfbbq: 3 windows (created Tue Apr 5 14:25:48 2016) [190x49]
$ tmux attach-session -t tmuxwtfbbq -c /home/chuck/new_default_directory
Setelan ini akan dipertahankan - setelah Anda menyetel ulang direktori kerja, Anda tidak perlu terus menentukannya setiap kali menyambungkan kembali ke sesi.
Sebagai catatan, saya menggunakan tmux versi 2.0 (meskipun menurut saya itu tidak penting - saya tidak dapat menemukan apa pun tentang menambahkan -c
ke attach-session
perintah di log perubahan jadi saya menganggap itu sudah ada cukup lama).
Jawaban Chucksmash bagus, tetapi bisa juga dicapai tanpa menggunakan sesi jika Anda mau. Perintah attach-session
juga tersedia di prompt perintah tmux; dan sesi target dapat ditetapkan sebagai sesi "saat ini" menggunakan titik.
attach-session -t . -c /path/to/new/directory
Inilah cara Anda dapat mengubah direktori kerja sesi tmux tanpa melepaskan sesi, dan tanpa perlu menggunakan <prefix>
penekanan tombol:
(Opsi 1) Masuk ke direktori di tmux
prompt perintah:
tmux command-prompt "attach -c %1"
...akan membuka command prompt, kemudian anda ketik working directory yang anda inginkan ~/my/dir
dan tekan ENTER
(Opsi 2) Berikan direktori pada baris perintah dalam panel:
# Execute this in one of the shell panes of within your tmux session:
tmux command-prompt -I $PWD -P "New session dir:" "attach -c %1"
Dengan pendekatan ini, prompt untuk direktori baru sudah diisi sebelumnya dengan dir saat ini dari panel yang meluncurkan perintah. Tentu saja Anda dapat mengganti $PWD
dengan yang lain jika Anda berkenan.
Ingin fungsi shell?
Saya telah menambahkan ini ke inisialisasi shell saya:
# Change the current directory for a tmux session, which determines
# the starting dir for new windows/panes:
function tmux-cwd {
tmux command-prompt -I $PWD -P "New session dir:" "attach -c %1"
}
Dengan semua opsi ini, jendela baru apa pun di masa mendatang akan dimulai di direktori yang diberikan.
Catatan: attach
, attach-session
, dan a
semuanya adalah alias satu sama lain. tmux command-prompt
memiliki banyak kekuatan lain, ada baiknya membaca halaman manual