Ваш конфигурационный файл работает, но есть несколько сложностей.
Краткосрочные Команды
Во-первых, команды, которые вы запускаете (экземпляры ls ), заканчиваются очень быстро. Окна и панели для команд созданы, но они исчезают при выходе из каждой команды.
Если ваша цель состоит в том, чтобы фактически использовать такие команды «одного выстрела» в вашей возможной конфигурации, то вам, вероятно, следует использовать опцию окна remain-on-exit
(и, возможно, опцию сеанса, set-remain-on-exit
чтобы обеспечить значение по умолчанию для всех окон, созданных в сеансе). Когда remain-on-exit
задано окно, оно не исчезнет при выходе из команды. Вы, вероятно, захотите сопоставить respawn-window
клавишу с ключом (примечание: respawn-window
возродит исходную команду; respawn-pane
также доступно в tmux 1.5 для перезапуска отдельных панелей).
bind-key R respawn-window # set global r-o-e so that initial window of initial session gets it set -g set-remain-on-exit on # create a session and its windows/panes new -n estruct ls neww -n estruct2 ls splitw -v -p 50 -t 0 ls # restore global r-o-e set -g set-remain-on-exit off # let session r-o-e inherit from global value for future windows set -u set-remain-on-exit
Или, если вы не возражаете против того, чтобы ваше начальное окно было номером 1 вместо номера 0, тогда мы можем избежать изменения глобального значения:
bind-key R respawn-window # create a session with a throw-away window new true # for future windows, stay open after the command exits set set-remain-on-exit on # create the windows we really want neww -n estruct ls neww -n estruct2 ls splitw -v -p 50 -t 0 ls # for future windows, revert r-o-e to global value set -u set-remain-on-exit
Если вы использовали только ls
в качестве упрощенной команды-заполнителя и на самом деле намереваетесь создать какой-то тип интерактивной команды в своих окнах / панелях, то вам, вероятно, следует просто создать команду, которую вы намеревались выполнить. Если вашей предполагаемой команде требуется слишком много времени для запуска, чтобы использовать ее во время тестирования tmux, замените оболочку или другую простую интерактивную команду (например top
, sqlite3
и т. Д.).
new-session
Команда по умолчанию
Во-вторых, запуск tmux без аргумента команды (например tmux
) эквивалентен использованию new-session
команды (то tmux
есть так же, как tmux new-session
). Вы .tmux.conf
создаете сеанс для своих окон / панелей ( new
это псевдоним для new-session
), а другой сеанс создается для неявной new-session
команды, указанной при запуске tmux без аргумента команды. Если вы используете строку состояния по умолчанию, вы увидите [1]
в левой части строки состояния, когда вы находитесь в «дополнительном» сеансе (начальный сеанс, созданный в .tmux.conf
это номер 0).
Если вы хотите избежать создания дополнительного сеанса, используйте tmux attach
вместо обычного tmux
. Ваши команды .tmux.conf
будут выполняться, создавая сеанс 0, а затем ваш клиент присоединится к этому сеансу вместо создания нового.