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.