Tmux'da bir pencere nasıl sonlandırılır?


214

Tmux'da bir pencere nasıl sonlandırılır? Gibi Ctrlakiçinde kısayol ekrana sahip Ctrlaönek olmak.


2
Ne için çalışıyordun? Soru başlığınızı ararsam, bu en çok karşılaşılan şeydir. Yararlı bir kısayol listesi vardır (aşağıdaki cnicutar tarafından tanımlananlar dahil)
Geoff

29
Peki, şimdi bu sorunun kendisi Google'da en iyi hit ...
jottr

Yanıtlar:


43

Kent'in yanıtı sorunuzu tam olarak yanıtladı, ancak tmux'un yapılandırmasını GNU Ekranına benzer olacak şekilde değiştirmek istiyorsanız, bunu gerçekleştirmek için kullandığım bir tmux.conf:

# 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

Bu aşırı ayrıntılı ve sorunun nerede cevaplandığını göstermiyor
rodorgas

313

dene Prefix+&

eğer varsa

bind q killp

Gözlerinde farklı .tmux.conf, sen basabilirsiniz Prefix+ qo pencerede sadece bir panel yoktur, sadece çok pencereyi öldürmek.

yukarıdaki Önek varsayılanı Ctrl + ' dırb , bu nedenle pencereyi varsayılan olarak sonlandırmak için Ctrl +b &


5
Bu iyi çalışıyor:, Ctrl+b &not edin, o ypenceredeki tüm bölmeleri içeren geçerli pencereyi gerçekten öldürmek için onaylamanız gerekir . En son kullandığınız pencerenin içine yerleştirileceksiniz.
rubo77

1
Varsayılan olarak Prefix+ işaretinin qbölme numarasını gösterdiğini belirtmek gerekir , bu nedenle killpbu birleşime atamak bu kısayolu geçersiz kılacaktır.
kmo

106

<Prefix> & bir pencereyi öldürmek için

<Prefix> x bölmeyi öldürmek için

Yalnızca bir bölme varsa (yani pencere birden çok bölmeye ayrılmazsa, <Prefix> xpencereyi öldürür)

Her zaman olduğu gibi <Prefix>, genellikle CTRL+b. (Bence başlangıç ​​soruları için, CTRL+bher zaman söyleyebiliriz ve önek hakkında hiç konuşmayız, ama yine de :))


Sadece bölmeyi <prefix> x, sadece <prefix>: ile yazamadım, sonra yazarak respawn-pane -k.
Pablo A

87

Genellikle:

tmux kill-window -t window-number

Örneğin, pencere 1'deyseniz ve pencere 9'u öldürmek istiyorsanız:

tmux kill-window -t 9

2
Bu. (Bu arada çok teşekkür ederiz!) Tmux başka terminalde çalışan uzaktan nerede yapılırsa, tek yapabilirim INFO=$(tmux new-window -P notepad)izledi tmux kill-window -t $INFO.
Johann

70

Benim için çözüm şöyle görünüyor:

  1. ctrl+b q bölme numaralarını göstermek için.
  2. ctrl+b x bölmeyi öldürmek.

Son bölmeyi öldürmek pencereyi öldürür.


2
Bir tmux penceresinde bir işlemi bitirdiğinizde bu en iyi çözümdür.
Philip Kirkbride

1
Killing last pane will kill window. Benim için çalışmıyor mu? Mac kullanıyorum
Andy Aldo

evet, bence bu şimdiye kadarki en iyi çözüm.
Analiz

33

Kısayol eklemeden yalnızca bir kez yapmak istiyorsanız, her zaman

<prefix> 
:
kill-window
<enter>

10

Sen nasıl bir pencere resp öldürmek istedi . bölme , genellikle onu öldürmek istemem ama sadece çalışma durumuna geri dönmek için (bölmelerin düzeni benim için önemlidir, bir bölmeyi öldürmek onu yok eder, bu yüzden yeniden yaratmalıyım); tmux respawnbu yönde komutlar verir: respawn-paneresp. respawn-window. Sadece benim gibi insanlar bu çözümü burada bulabilirler.


9

Çok şey bunu yapmak için farklı yollar, ama benim en sevdiğim bash istemine sadece 'exit' yazmaktır.


3
Bu, bash'ın pencerede çalıştığını varsayar. Beni bu sayfaya götüren öldürmek istediğim pencere tmux komutlarının listesidir.
Michael Campbell

1
<prefix> +? İle görüntülenen komutların listesine bakıyorsanız, q veya <RET> tuşlarına basarak bunu bırakabilirsiniz.
Scott Centoni

8

ctrl + d Linux terminalinde bir pencere öldürür, tmux'da da çalışır.

Bu bir yaklaşım.


2
Bu kısayolun yalnızca "veri sonu" anlamına geldiğini unutmayın. Yalnızca tmux panosundaki o anda çalışan işlem bu sinyali kabul ederse ve onu aldıktan sonra kendisini sonlandırırsa (örneğin bash'ın yaptığı gibi) çalışır. Bölmede bir işlem olmadığı için tmux tarafından kapanır. Her durumda çalışmaz.
nyi

aradığım wat bu.
thedanotto

1
Pencerede çalışan bir kabuk varsa bu sorun olmaz, ancak sadece donmuş bir uygulama varsa, daha acımasız bir şey gerekir. Nikolay Fominyh'in cevabı iyi çalışıyor.
oz1cz

Bu sadece bir bölmeyi öldürür, bir pencereyi değil.
StevieD

1

Varsayılan olarak
<Prefix>& bir pencereyi öldürmek için
<Prefix>x bir bölmeyi öldürmek için
Ve yapılandırma bilgisi ekleyebilirsiniz

vi ~/.tmux.conf
bind-key X kill-session

Daha sonra
<Prefix>bir oturum öldürmek için X

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.