Создание ярлыка «убить текущий сеанс» в Tmux

8

Можно ли создать ярлык в Tmux, который убил бы текущий сеанс? Набирать «kill-session -t mysession» не очень удобно

Я представляю что-то вроде

bind X kill-session -t $currentsesion

что я не понимаю, как дать bind знать, какой сеанс является текущим.

Dimus
источник

Ответы:

16

После игры я обнаружил, что могу сделать следующее сокращение, которое ведет себя так, как я хочу:

  • Убивает текущую сессию
  • Оставляет все другие сессии нетронутыми

bind X confirm-before "kill-session -t ''"

Это решение, кажется, работает, но также выглядит как взломать. Я надеюсь, что есть лучший способ сделать это.

РЕДАКТИРОВАТЬ

Как указано в комментариях , отсутствие -tпараметра приведет tmuxк автоматическому использованию текущего сеанса, поэтому код также можно сократить до:

bind X confirm-before kill-session

Dimus
источник
5
Пустая строка, безусловно, является допустимым способом обозначения «текущего сеанса» как целевого сеанса , но вы также можете просто пропустить -t(и его аргумент): «текущий сеанс» является целевым сеансом по умолчанию, если -tон не указан , Так что это должно сработать:bind X confirm-before kill-session
Крис Джонсен
0

Вы можете определить ярлыки для tmuxредактирования ~/.tmux.confи предоставления подходящей bind-keyстроки. Страница руководства показывает несколько примеров.

Для дополнительного чтения:

Томас Дики
источник
Я понимаю, как создавать ярлыки, но я не знаю, как ссылаться на текущую сессию
dimus