panel baru tmux memiliki direktori home sebagai default, bukan direktori sebelumnya

24

Ketika saya menekan Ctrl+ "(membuat panel baru) saat berada di panel, yang memiliki PWD /tmpmisalnya, panel baru dimulai sebagai folder rumah saya ~.

Saya melihat /unix//a/109255/72471 dan itu membantu saya dengan masalah yang sama tentang windows.

Namun, saya tidak bisa memperbaiki split-windowmasalah dengan memasukkan

bind " split-window -c "#{pane_current_path}"

ke dalam saya ~/.tmux.conf.

Saya menggunakan tmux 1.9a dan karenanya tidak ingin solusi yang agak berantakan untuk versi yang lebih lama yang dinyatakan di sini (toh hal itu tidak berfungsi dalam kasus saya):

bind '"' set default-path "" \; split-window -v \; set -u default-path

Bagaimana saya bisa tahu tmuxuntuk mengatur direktori default sebagai jalur saat ini dari panel, ketika membuat panel baru?

polym
sumber

Jawaban:

45

Coba tentukan vuntuk vertikal atau hhorizontal

.tmux.confFile saya memiliki:

bind \ split-window -h -c '#{pane_current_path}'  # Split panes horizontal
bind - split-window -v -c '#{pane_current_path}'  # Split panes vertically

(Saya menggunakan \dan -sebagai splitter panel satu jari.)

Panel baru terbuka untuk saya menggunakan direktori saya saat ini, di mana pun saya berada.
Ini tentu fitur utama bagi saya!

Satu hal penting lainnya dengan tmux (ini adalah masalah dalam kasus ini) adalah Anda harus menerapkan perubahan dengan:

tmux source-file ~/.tmux.conf

Perhatikan bahwa terminal penutupan, bahkan log off dan restart, TIDAK akan menerapkan perubahan tmux - Anda harus benar-benar menggunakan perintah itu (atau menggunakan Ctrl+ B :source-file ~/.tmux.conf).

Anda dapat melihat .tmux.conffile lengkap saya di https://github.com/durrantm/setups .

Michael Durrant
sumber
2
Anda mengatakan "Perhatikan bahwa terminal penutupan, bahkan log off dan restart tidak akan menerapkan perubahan tmux". Tentu saja jika Anda hanya melepaskan tmux itu tidak akan tetapi membunuh dan memulai ulang server akan menerapkan perubahan :).
soyuka
2
Terima kasih banyak! Ini sangat membantu. Namun, saya cukup yakin me-restart komputer menerapkan perubahan tmux :)
vitiral
Restart komputer tidak menerapkan perubahan untuk saya yang sebelumnya menyebabkan kebingungan bagi saya. ymmv
Michael Durrant
Perhatikan bahwa hal yang sama dapat dilakukan untuknew-window
math2001
25
bind '%' split-window -h -c '#{pane_current_path}'  # Split panes horizontal
bind '"' split-window -v -c '#{pane_current_path}'  # Split panes vertically
bind c new-window -c '#{pane_current_path}' # Create new window

Tambahkan baris terakhir ke Anda ~/.tmux.confuntuk mempertahankan $PWDdi jendela baru juga.

Shubham
sumber
6

Itu karena,

bind " split-window -c "#{pane_current_path}"

seharusnya

bind '"' split-window -c "#{pane_current_path}"
Giumo
sumber
2

Jika seseorang datang ke sini dengan mencari, ini berfungsi dengan baik dengan tmux 2.7 dan seharusnya tidak masalah dengan semua versi

unbind '"'
bind '"' split-window -v -c '#{pane_current_path}'  # Split panes vertically

unbind %
bind % split-window -h -c '#{pane_current_path}'  # Split panes horizontal
ShahinSorkh
sumber