Po co byłeś w Google? Jeśli szukam twojego pytania, to jest to hit. Ma przydatną listę skrótów (w tym tę zidentyfikowaną przez cnicutar poniżej)
Geoff,
29
Cóż, teraz to pytanie jest największym hitem w Google ...
jottr
Odpowiedzi:
43
Odpowiedź Kenta w pełni odpowiedziała na twoje pytanie, jednak jeśli chcesz zmienić konfigurację tmux, aby była podobna do ekranu GNU, oto tmux.conf, którego użyłem, aby to zrobić:
# Prefix key
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# Keys
bind k confirm kill-window
bind K confirm kill-server
bind % split-window -h
bind : split-window -v
bind < resize-pane -L 1
bind > resize-pane -R 1
bind - resize-pane -D 1
bind + resize-pane -U 1
bind . command-prompt
bind a last-window
bind space command-prompt -p index "select-window"
bind r source-file ~/.tmux.conf
# Options
set -g bell-action none
set -g set-titles on
set -g set-titles-string "tmux (#I:#W)"
set -g base-index 1
set -g status-left ""
set -g status-left-attr bold
set -g status-right "tmux"
set -g pane-active-border-bg black
set -g pane-active-border-fg black
set -g default-terminal "screen-256color"
# Window options
setw -g monitor-activity off
setw -g automatic-rename off
# Colors
setw -g window-status-current-fg colour191
set -g status-bg default
set -g status-fg white
set -g message-bg default
set -g message-fg colour191
Działa to dobrze: Ctrl+b &pamiętaj, że musisz potwierdzić, yaby naprawdę zabić bieżące okno, włączając wszystkie szyby w tym oknie. Zostaniesz umieszczony w oknie, którego używałeś wcześniej.
rubo77
1
Warto zauważyć, że domyślnie Prefix+ qpokazuje numer panelu, więc przypisanie killpdo tej kombinacji zastąpi ten skrót.
kmo,
106
<Prefix>& za zabicie okna
<Prefix>x za zabicie szyby
Jeśli jest tylko jeden panel (tzn. Okno nie jest podzielone na wiele paneli, <Prefix>xzabiłoby to okno)
Jak zawsze iterowano, <Prefix>jest ogólnie CTRL+b. (Myślę, że w przypadku pytań dla początkujących możemy po prostu mówić CTRL+bcały czas i nie mówić w ogóle o prefiksie, ale w każdym razie :))
To. (Nawiasem mówiąc, bardzo dziękuję!) Jeśli zrobiono to zdalnie, gdy tmux działa w innym terminalu, można zrobić to INFO=$(tmux new-window -P notepad)po tmux kill-window -t $INFO.
Podczas gdy pytałeś, jak zabić okno lub. panel , często nie chciałbym go zabijać, ale po prostu przywrócić go do stanu roboczego (układ paneli jest dla mnie ważny, zabicie panelu niszczy go, więc muszę go odtworzyć); tmux udostępnia następujące respawnpolecenia: respawn-paneresp. respawn-window. Tylko ludzie tacy jak ja mogą znaleźć to rozwiązanie tutaj.
Zakłada się, że bash działa w oknie. Okno, które chciałem zabić, które doprowadziło mnie do tej strony, to lista poleceń tmux - które nie mają powłoki do wyjścia.
Michael Campbell
1
Jeśli patrzysz na listę poleceń wyświetlaną przez <prefiks> + ?, możesz to zrobić, naciskając q lub <RET>.
Scott Centoni
8
ctrl + d zabija okno w terminalu Linux, działa również w tmux.
Pamiętaj, że ten skrót oznacza po prostu „koniec danych”. Działa tylko wtedy, gdy aktualnie uruchomiony proces w panelu tmux zaakceptuje ten sygnał i zakończy się po otrzymaniu (np. Tak jak bash). Ponieważ w okienku nie ma żadnego procesu, zostaje zamknięty przez tmux. Nie działa we wszystkich przypadkach.
nyi
tego właśnie szukałem.
thedanotto
1
Jest to OK, jeśli w oknie jest uruchomiona powłoka, ale jeśli jest tylko zamrożona aplikacja, potrzeba czegoś bardziej brutalnego. Odpowiedź Nikolaya Fominyha działa dobrze.
oz1cz
To tylko zabija szybę, a nie okno.
StevieD
1
Domyślnie <Prefix>& za zabicie okna <Prefix>x za zabicie panelu
I możesz dodać informacje o konfiguracji
Odpowiedzi:
Odpowiedź Kenta w pełni odpowiedziała na twoje pytanie, jednak jeśli chcesz zmienić konfigurację tmux, aby była podobna do ekranu GNU, oto tmux.conf, którego użyłem, aby to zrobić:
źródło
spróbuj
Prefix
+&Jeśli masz
w twoim
.tmux.conf
możesz również nacisnąćPrefix
+, qaby zabić okno, tylko jeśli w tym oknie jest tylko jeden panel.domyślnym prefiksem powyżej jest Ctrl + b, więc aby domyślnie zamknąć okno, możesz użyć Ctrl +b &
źródło
Ctrl+b &
pamiętaj, że musisz potwierdzić,y
aby naprawdę zabić bieżące okno, włączając wszystkie szyby w tym oknie. Zostaniesz umieszczony w oknie, którego używałeś wcześniej.Prefix
+q
pokazuje numer panelu, więc przypisaniekillp
do tej kombinacji zastąpi ten skrót.<Prefix>
&
za zabicie okna<Prefix>
x
za zabicie szybyJeśli jest tylko jeden panel (tzn. Okno nie jest podzielone na wiele paneli,
<Prefix>
x
zabiłoby to okno)Jak zawsze iterowano,
<Prefix>
jest ogólnieCTRL+b
. (Myślę, że w przypadku pytań dla początkujących możemy po prostu mówićCTRL+b
cały czas i nie mówić w ogóle o prefiksie, ale w każdym razie :))źródło
respawn-pane -k
.Ogólnie:
Na przykład, jeśli jesteś w oknie 1 i chcesz zabić okno 9:
źródło
INFO=$(tmux new-window -P notepad)
potmux kill-window -t $INFO
.Dla mnie rozwiązanie wygląda następująco:
ctrl+b q
aby wyświetlić numery okien.ctrl+b x
zabić szybę.Zabicie ostatniego panelu zabije okno.
źródło
Killing last pane will kill window
. Nie działa dla mnie? Używam MacJeśli chcesz to zrobić tylko raz, bez dodawania skrótu, zawsze możesz pisać
źródło
Podczas gdy pytałeś, jak zabić okno lub. panel , często nie chciałbym go zabijać, ale po prostu przywrócić go do stanu roboczego (układ paneli jest dla mnie ważny, zabicie panelu niszczy go, więc muszę go odtworzyć); tmux udostępnia następujące
respawn
polecenia:respawn-pane
resp.respawn-window
. Tylko ludzie tacy jak ja mogą znaleźć to rozwiązanie tutaj.źródło
Jest wiele różnych sposobów, aby to zrobić, ale moim ulubionym jest po prostu wpisywanie „exit” w wierszu polecenia bash.
źródło
ctrl + d
zabija okno w terminalu Linux, działa również w tmux.To takie podejście.
źródło
Domyślnie
<Prefix>
& za zabicie okna<Prefix>
x za zabicie paneluI możesz dodać informacje o konfiguracji
następnie
<Prefix>
X za zabicie sesjiźródło