如何在 tmux 中关闭其他窗口?

kev*_*kev 9 bash vim tmux

我写了一些函数.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
Run Code Online (Sandbox Code Playgroud)

我想执行tabonly命令,但不知道如何执行。

che*_*ner 6

使用要保留为当前窗口的窗口,只需调用next-windowkill-window重复,直到next-window失败:

while tmux next-window 2> /dev/null; do
    tmux kill-window
done
Run Code Online (Sandbox Code Playgroud)

  • *tmux* 的下一个版本(即 1.7)将使用 `kill-window -a` 来杀死除当前窗口之外的所有窗口。 (6认同)

Ale*_*der 5

为了方便复制,tmux >= 1.7:

tabo()  { tmux kill-window -a; }
Run Code Online (Sandbox Code Playgroud)

谢谢克里斯·约翰森。