Làm thế nào để đóng các cửa sổ khác trong tmux?


8

Tôi viết một số chức năng .bashrcđể tmuxdễ sử dụng:

#!/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

Tôi muốn thực hiện tabonlylệnh, nhưng không biết làm thế nào.

Câu trả lời:


4

Với cửa sổ bạn muốn giữ như cửa sổ hiện tại, chỉ cần gọi next-windowkill-windowlặp lại, cho đến khi next-windowthất bại:

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

5
Bản phát hành tiếp theo của tmux (tức là 1.7) sẽ phải kill-window -atiêu diệt tất cả các cửa sổ ngoại trừ cửa sổ hiện tại.
Chris Johnsen

3

Để sao chép dễ dàng, tmux> = 1.7:

tabo()  { tmux kill-window -a; }

Cảm ơn Chris Johnsen.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.