Як закінчити вікно в tmux?


213

Як закінчити вікно в tmux? Як Ctrlakярлик на екрані з Ctrlaбути префіксом.


2
Чого ти гугла? Якщо я шукаю назву вашого питання, це найкращий хіт. Має корисний список ярликів (включаючи той, який визначено cnicutar нижче)
Джефф

29
Ну, а тепер саме це питання є найкращим хітом у google ...
jottr

Відповіді:


43

Відповідь Кента повністю відповіла на ваше запитання, проте якщо ви хочете змінити конфігурацію tmux так, щоб вона була схожа на GNU Screen, ось 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

Це занадто багатослівно і не вказує, куди відповідає на питання
rodorgas

312

спробуйте Prefix+&

якщо у вас є

bind q killp

у своєму .tmux.conf, ви можете натиснути Prefix+, qщоб також вбити вікно, лише якщо у цьому вікні є лише одна панель.

за замовчуванням префікса вище Ctrl + b, тому для завершення вікна за замовчуванням ви можете використовувати Ctrl +b &


5
Це добре працює: Ctrl+b &зауважте, що вам потрібно підтвердити yдійсне вбивство поточного вікна, включаючи всі панелі у цьому вікні. Вас помістять у вікно, яке ви використовували останній до цього.
rubo77

1
Варто зазначити, що за замовчуванням Prefix+ qпоказує номер панелі, тому призначення killpцієї комбінації буде замінено цю комбінацію клавіш.
kmo

106

<Prefix> & за вбивство вікна

<Prefix> x за вбивство скло

Якщо є лише одна панель (тобто вікно не розділене на кілька панелей, <Prefix> xце вбиває вікно)

Як завжди повторюється, <Prefix>загалом CTRL+b. (Я думаю, що для початківців питань ми можемо просто говорити CTRL+bвесь час, і зовсім не говорити про префікс, але все одно :))


Я не міг убити просто панель за допомогою <prefix> x, лише за допомогою <prefix>:, а потім набравши текст respawn-pane -k.
Пабло А

87

Як правило:

tmux kill-window -t window-number

Так, наприклад, якщо ви перебуваєте у вікні 1 і хочете вбити вікно 9:

tmux kill-window -t 9

2
Це. (Велике спасибі, до речі!) Якщо все зроблено віддалено , де tmux працює в якому - то іншому терміналі, можна зробити INFO=$(tmux new-window -P notepad)потім tmux kill-window -t $INFO.
Йоган

70

Для мене рішення виглядає так:

  1. ctrl+b q щоб показати номери панелей.
  2. ctrl+b x вбити панель.

Вбивство останньої панелі вбиває вікно.


2
Це найкраще рішення, коли ви тільки що закінчили процес у вікні tmux.
Філіп Кіркбрід

1
Killing last pane will kill window. Не працює для мене? Я використовую mac
Andy Aldo

так, я думаю, що це найкраще рішення, коли-небудь і коли-небудь.
Обчислення

33

Якщо ви хочете зробити це один раз, не додаючи ярлик, ви завжди можете набрати текст

<prefix> 
:
kill-window
<enter>

10

Поки ви запитували, як вбити вікно, відповідно. панель , я часто не хотів би його вбивати, а просто повернути його до робочого стану (макет панелей для мене важливий, вбивство панелі руйнує її, тому я повинен відтворити її); tmux надає respawnкоманди для цього ефекту: respawn-paneресп. respawn-window. Просто такі люди, як я, можуть знайти це рішення тут.


9

У Лота є різні способи зробити це, але моїм улюбленим є просто введення «виходу» на підказку bash.


3
Це передбачає, що баш працює у вікні. Вікно, яке я хотів убити, що призвело мене до цієї сторінки, - це список команд tmux - у яких немає оболонки для виходу.
Майкл Кемпбелл

1
Якщо ви переглядали список команд, що відображається <prefix> +?, Ви можете залишити його, натиснувши q або <RET>.
Скотт Сентоні

8

ctrl + d вбиває вікно в терміналі Linux, також працює в tmux.

Це свого роду підхід.


2
Зауважте, що цей ярлик просто означає "кінець даних". Він працює лише у тому випадку, якщо поточний запущений процес на панелі tmux приймає цей сигнал і припиняється після його отримання (наприклад, як це робить bash). Оскільки в області немає жодного процесу, він закривається tmux. Працює не у всіх випадках.
nyi

це Ват, який я шукав.
thedanotto

1
Це нормально, якщо у вікні є запущена оболонка, але якщо є лише заморожена програма, потрібно щось більш жорстоке. Відповідь Миколи Фоминих працює чудово.
oz1cz

Це вбиває лише область, а не вікно.
StevieD

1

За замовчуванням
<Prefix>& для вбивства вікна
<Prefix>x для вбивства області.
Ви можете додати інформацію конфігурації

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

потім
<Prefix>X для вбивства сеансу

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.