Когда я создаю несколько сеансов в tmux, текущий каталог для каждого нового окна в последующих сеансах устанавливается как текущий каталог для первого.
Например:
-> cd /home/one && tmux new-session -n one\; new-window -n two
# /home/one is the current directory for each window
-> cd /home/two && tmux new-session -n three\; new-window -n four #\; etc.
# "/home/two" is the current directory for the window "three"
# but for the window "four" and other created windows it is "/home/one"
Как я могу заставить tmux установить текущий каталог для каждого нового окна в последующих сеансах в качестве каталога, в котором был создан сеанс?
Tmux 1.6
зш 4.3
split-window -h "#{pane_current_path}"
не будет работать ...split-window -h -c "#{pane_current_path}"
Я понимаю, что этот вопрос довольно старый, но он возник как один из немногих вопросов на StackExchange, когда я сам искал ответ, поэтому вот как я решил его для tmux 1.8.
Команда
new-window
принимает-c
флаг, который позволит вам указать текущий каталог нового окна. По умолчанию это пустая строка, которая будет использовать текущий рабочий каталог панелей в качестве каталога для нового окна. Передача в качестве-
значения-c
флага установит каталог нового окна, в котором был открыт сеанс.Вот выдержка из документов:
Если вы хотите изменить поведение
<PREFIX> c
связывания клавиш по умолчанию, чтобы отразить это, вот что я сделал в своем~/.tmux.conf
:источник
здесь довольно много ответов: /unix/12032/create-new-window-with-current-directory-in-tmux
В итоге:
из FAQ по tmux один тупой (но очень общий и довольно независимый от оболочки) способ:
просто замените вызовы на оболочку в соответствии с вашими требованиями.
также, по-видимому, в более новых версиях tmux эта проблема решается с помощью команды
старые версии работают так:
призвание
из вашей оболочки откроется tmux в этой директории.
если вы хотите иметь возможность открывать новые окна или панели из текущего рабочего каталога в tmux, тогда вам следует вместо этого:
источник