¿Cómo terminar una ventana en tmux?

213

¿Cómo terminar una ventana en tmux? Al igual que el Ctrlakacceso directo en la pantalla con Ctrlaser el prefijo.

Dmitry
fuente
2
¿Para qué estabas buscando en Google? Si busco el título de tu pregunta, este es el mejor éxito. Tiene una lista útil de accesos directos (incluido el identificado por cnicutar a continuación)
Geoff
29
Pues bien, ahora esta pregunta en sí es el primero éxito en Google ...
jottr

Respuestas:

43

La respuesta de Kent respondió completamente a su pregunta, sin embargo, si está buscando cambiar la configuración de tmux para que sea similar a GNU Screen, aquí hay un tmux.conf que he usado para lograr esto:

# 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
Jimmy Zelinskie
fuente
Esto es demasiado detallado y no indica dónde se responde la pregunta
rodorgas
312

prueba Prefix+&

si usted tiene

bind q killp

en tu .tmux.conf, puedes presionar Prefix+ qpara cerrar la ventana también, solo si solo hay un panel en esa ventana.

el valor predeterminado de Prefijo anterior es Ctrl + b, por lo que para finalizar la ventana de forma predeterminada puede usar Ctrl +b &

Kent
fuente
55
Esto funciona bien: Ctrl+b &tenga en cuenta que debe confirmar con ypara realmente matar la ventana actual incluyendo todos los paneles en esa ventana. Te colocarán dentro de la ventana que usaste antes.
rubo77
1
Vale la pena señalar que, de forma predeterminada, Prefix+ qmuestra el número de panel, por lo que asignar killpa esta combinación anulará este acceso directo.
kmo
106

<Prefix> & por matar una ventana

<Prefix> x por matar un panel

Si solo hay un panel (es decir, la ventana no está dividida en varios paneles, <Prefix> xla ventana se eliminaría)

Como siempre iterado, <Prefix>es generalmente CTRL+b. (Creo que para preguntas de principiantes, podemos decir CTRL+btodo el tiempo, y no hablar del prefijo en absoluto, pero de todos modos :))

Rushi Agrawal
fuente
No pude matar solo el panel con <prefijo> x, solo con <prefijo>:, y luego escribiendo respawn-pane -k.
Pablo A
87

Generalmente:

tmux kill-window -t window-number

Entonces, por ejemplo, si estás en la ventana 1 y quieres matar a la ventana 9:

tmux kill-window -t 9
Gary
fuente
2
Esta. (¡Muchas gracias por cierto!) Si se hace de forma remota donde tmux se está ejecutando en algún otro terminal, uno puede hacerlo INFO=$(tmux new-window -P notepad)seguido de tmux kill-window -t $INFO.
Johann
69

Para mí la solución se ve así:

  1. ctrl+b q para mostrar los números del panel.
  2. ctrl+b x para matar el panel

Matar el último panel matará la ventana.

Nikolay Fominyh
fuente
2
Esta es la mejor solución cuando acaba de finalizar un proceso dentro de una ventana tmux.
Philip Kirkbride
1
Killing last pane will kill window. ¿No me funciona? Estoy usando mac
Andy Aldo
Sí, creo que esta es la mejor solución de todos los tiempos.
Cálculo
33

Si solo desea hacerlo una vez, sin agregar un acceso directo, siempre puede escribir

<prefix> 
:
kill-window
<enter>
gatoatigrado
fuente
10

Mientras preguntabas cómo matar una ventana resp. panel , a menudo no me gustaría matarlo, sino simplemente devolverlo a un estado de funcionamiento (el diseño de los paneles es importante para mí, matar un panel lo destruye, así que debo recrearlo); tmux proporciona los respawncomandos a tal efecto: respawn-paneresp. respawn-window. Solo que personas como yo pueden encontrar esta solución aquí.

Tom Regner
fuente
9

Hay muchas formas diferentes de hacer esto, pero mi favorito es simplemente escribir 'salir' en el indicador de bash.

smp
fuente
3
Esto supone que bash se está ejecutando en la ventana. La ventana que quería matar que me llevó a esta página es la lista de comandos tmux, que no tiene ningún shell para salir.
Michael Campbell
1
Si estaba mirando la lista de comandos que se muestran con <prefijo> + ?, puede dejarla presionando q o <RET>.
Scott Centoni
8

ctrl + d mata una ventana en la terminal de Linux, también funciona en tmux.

Este es un tipo de enfoque.

Pingsoli
fuente
2
Tenga en cuenta que este acceso directo solo significa "fin de datos". Solo funciona si el proceso que se está ejecutando actualmente en el panel tmux acepta esta señal y termina al recibirla (por ejemplo, como lo hace bash). Debido a que no hay ningún proceso en el panel, tmux lo cierra. No funciona en todos los casos.
nyi
Esto es lo que estaba buscando.
thedanotto
1
Esto está bien si hay un shell en ejecución en la ventana, pero si solo hay una aplicación congelada, se necesita algo más brutal. La respuesta de Nikolay Fominyh funciona bien.
oz1cz
Esto solo mata un panel, no una ventana.
StevieD
1

Por defecto
<Prefix>y para matar una ventana
<Prefix>x para matar un panel
Y puedes agregar información de configuración

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

luego
<Prefix>X por matar una sesión

DinoStray
fuente