Новая панель tmux по умолчанию имеет домашний каталог вместо предыдущего

24

Когда я нажимаю Ctrl+ "(создаю новую панель), находясь в панели, которая имеет, PWD /tmpнапример, новая панель начинается как моя домашняя папка ~.

Я посмотрел на /unix//a/109255/72471, и он помог мне с той же проблемой, касающейся окон.

Тем не менее, я не мог решить split-windowпроблему, вставив

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

в мой ~/.tmux.conf.

Я использую tmux 1.9a и поэтому не хочу использовать довольно грязное решение для старых версий, указанных здесь (в любом случае это не работает):

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

Как я могу указать tmuxкаталог по умолчанию в качестве текущего пути к панели при создании новой панели?

Polym
источник

Ответы:

45

Попробуйте указать vдля вертикальной или hгоризонтальной

Мой .tmux.confфайл имеет:

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

(Я использую \и -как сплиттеры с одним пальцем.)

Новые панели открываются для меня, используя мой текущий каталог, где бы я ни находился.
Это, безусловно, ключевая особенность для меня!

Еще одна важная вещь с tmux (в данном случае это была проблема) заключается в том, что вы должны применить изменения с помощью:

tmux source-file ~/.tmux.conf

Обратите внимание, что закрытие терминалов, даже выход из системы и перезапуск, НЕ будут применять изменения tmux - вы должны фактически использовать эту команду (или использовать Ctrl+ B :source-file ~/.tmux.conf).

Вы можете увидеть мой полный .tmux.confфайл по адресу https://github.com/durrantm/setups .

Майкл Даррант
источник
2
Вы сказали: «Обратите внимание, что закрытие терминалов, даже выход из системы и перезапуск НЕ приведут к изменениям tmux». Конечно, если вы только отключите tmux, это не будет, но убийство и перезапуск сервера приведут к изменениям :).
союка
2
Спасибо! Это было супер полезно. Тем не менее, я почти уверен, что перезагрузка компьютера приводит к изменениям в tmux :)
vitiral
Перезагрузка компьютера не повлияла на меня ранее, что привело меня в замешательство. ymmv
Майкл Даррант
Обратите внимание, что то же самое можно сделать дляnew-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

Добавьте последнюю строку в ваш файл, ~/.tmux.confчтобы сохранить его $PWDв новом окне.

Shubham
источник
6

Это потому что,

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

должно быть

bind '"' split-window -c "#{pane_current_path}"
Giumo
источник
2

В случае, если кто-то попадет сюда с помощью поиска, это нормально работает с tmux 2.7 и должно быть в порядке, вероятно, для всех версий

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
источник