Как закрыть другие окна в tmux?


9

Я пишу некоторые функции, .bashrcчтобы tmuxупростить их использование:

#!/bin/bash
# .bashrc

# vim            tmux
#-----  --------------------
tabc()  { tmux kill-window; }
tabe()  { tmux new-window; }
tabf()  { tmux find-window $@; }
tabn()  { tmux next-window; }
tabo()  { ; }                         # <-- How to `tabonly`?
tabp()  { tmux previous-window; }
qa()    { tmux kill-session; }
sp()    { tmux split-window; }
vsp()   { tmux split-window -h; }
on()    { tmux kill-pane -a; }

typeset -fx tab{c,e,f,n,o,p} {,v}sp qa on

Я хочу реализовать tabonlyкоманду, но не знаю как.

Ответы:


5

С окном, которое вы хотите сохранить в качестве текущего окна, просто вызывайте next-windowи kill-windowповторяйте, пока next-windowне произойдет сбой:

while tmux next-window 2> /dev/null; do
    tmux kill-window
done

6
Следующая версия tmux (т.е. 1.7) должна kill-window -aубить все окна, кроме текущего.
Крис Джонсен

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.