Nowy panel tmux ma domyślnie katalog domowy zamiast poprzedniego

24

Po naciśnięciu przycisku Ctrl+ "(utwórz nowy panel) w okienku zawierającym PWD /tmpna przykład nowy panel zaczyna się jako mój folder domowy ~.

Spojrzałem na /unix//a/109255/72471 i pomogło mi to z tym samym problemem dotyczącym okien.

Nie udało mi się jednak rozwiązać split-windowproblemu przez wstawienie

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

do mojego ~/.tmux.conf.

Korzystam z Tmux 1.9a i dlatego nie chcę raczej niechlujnego rozwiązania dla starszych wersji podanych tutaj (i tak nie działa w moim przypadku):

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

Jak mogę tmuxustawić domyślny katalog jako bieżącą ścieżkę panelu podczas tworzenia nowego panelu?

polim
źródło

Odpowiedzi:

45

Spróbuj określić vdla ustawienia pionowego lub hpoziomego

Mój .tmux.confplik ma:

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

(Używam \i -jako rozdzielaczy szyb jednym palcem.)

Nowe okienka otwierają się dla mnie przy użyciu mojego bieżącego katalogu, gdziekolwiek jestem.
Z pewnością jest to dla mnie kluczowa funkcja!

Kolejną ważną rzeczą związaną z tmux (w tym przypadku był problem) jest to, że musisz zastosować zmiany za pomocą:

tmux source-file ~/.tmux.conf

Zauważ, że zamykanie terminali, nawet wylogowanie i ponowne uruchomienie, NIE zastosuje zmian tmux - musisz faktycznie użyć tego polecenia (lub użyć Ctrl+ B :source-file ~/.tmux.conf).

Możesz zobaczyć mój pełny .tmux.confplik na https://github.com/durrantm/setups .

Michael Durrant
źródło
2
Powiedziałeś „Pamiętaj, że zamykanie terminali, nawet wylogowanie i ponowne uruchomienie NIE spowoduje zastosowania zmian tmux”. Oczywiście, jeśli tylko odłączyłeś tmux, to nie zabije i zrestartowanie serwera zastosuje zmiany :).
soyuka
2
Dzięki wielkie! To było bardzo pomocne. Jednak jestem pewien, że ponowne uruchomienie komputera powoduje zmiany w tmuxie :)
vitiral
Ponowne uruchomienie komputera nie zastosowało u mnie zmian, które wcześniej prowadziły do ​​zamieszania. ymmv
Michael Durrant
Zauważ, że to samo można zrobić dlanew-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

Dodaj ostatnią linię do swojej, ~/.tmux.confaby zachować również $PWDw nowym oknie.

Shubham
źródło
6

To jest ponieważ,

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

powinno być

bind '"' split-window -c "#{pane_current_path}"
Giumo
źródło
2

W przypadku, gdy ktoś dotrze tutaj przez wyszukiwanie, działa to dobrze z tmux 2.7 i powinno być w porządku z prawdopodobnie wszystkimi wersjami

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
źródło