¿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.


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

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 &


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 :))


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

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.


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>

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í.


9

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


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.


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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.