Způsob, jak to udělat, je odpojit se od relace (^b d
s výchozími klávesovými zkratkami) a poté, když se k němu znovu připojíte, zadejte jiný adresář. Při připojování k relaci použijte -c
příznak k určení pracovního adresáře. Zde je příklad:
$ 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
Toto nastavení zůstane zachováno – po resetování pracovního adresáře jej nebudete muset neustále zadávat pokaždé, když se znovu připojíte k relaci.
Pro pořádek, používám tmux verze 2.0 (i když si myslím, že na tom nezáleží - nenašel jsem nic o přidání -c
možnost attach-session
příkaz v protokolech změn, takže předpokládám, že tam už nějakou dobu je).
Chucksmashova odpověď je dobrá, ale lze ji také dosáhnout bez použití relace, pokud chcete. Příkaz attach-session
je také k dispozici v příkazovém řádku tmux; a cílová relace může být specifikována jako "aktuální" relace pomocí tečky.
attach-session -t . -c /path/to/new/directory
Zde je návod, jak můžete změnit pracovní adresář relace tmux bez odpojení relace a bez nutnosti použití <prefix>
stisknutí kláves:
(Možnost 1) Zadejte adresář na tmux
příkazový řádek:
tmux command-prompt "attach -c %1"
...otevře příkazový řádek, poté zadejte požadovaný pracovní adresář ~/my/dir
a stiskněte ENTER
(Možnost 2) Zadejte adresář na příkazovém řádku v podokně:
# 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"
Při tomto přístupu je výzva pro nový adresář předem vyplněna aktuálním adresářem podokna, který spustil příkaz. $PWD
samozřejmě můžete nahradit čímkoli jiným pokud prosím.
Chcete funkci shellu?
Toto jsem přidal do své inicializace shellu:
# 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"
}
Se všemi těmito možnostmi budou všechna budoucí nová okna začínat v daném adresáři.
Poznámka: attach
, attach-session
a a
jsou všechny aliasy pro sebe. tmux command-prompt
má mnoho dalších pravomocí, stojí za to si přečíst manuálovou stránku