คำตอบ:
คำตอบของ Kent ตอบคำถามของคุณอย่างเต็มที่อย่างไรก็ตามหากคุณต้องการเปลี่ยนการกำหนดค่าของ tmux ให้คล้ายกับหน้าจอ GNU นี่คือ 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
ลอง Prefix+&
ถ้าคุณมี
bind q killp
ในของ.tmux.confคุณคุณสามารถกดPrefix+ qเพื่อฆ่าหน้าต่างได้เช่นกันเฉพาะในกรณีที่มีแผงเดียวในหน้าต่างนั้น
เริ่มต้นของคำนำหน้าข้างต้นเป็น Ctrl + b, เพื่อที่จะยุติหน้าต่างโดยเริ่มต้นที่คุณสามารถใช้ Ctrl +b &
Ctrl+b &โปรดทราบว่าคุณต้องยืนยันด้วยyเพื่อฆ่าหน้าต่างปัจจุบันโดยรวมบานหน้าต่างทั้งหมดในหน้าต่างนั้น คุณจะถูกวางไว้ในหน้าต่างที่คุณใช้ล่าสุดก่อนหน้านั้น
Prefix+ qแสดงหมายเลขบานหน้าต่างดังนั้นการกำหนดให้killpกับชุดค่าผสมนี้จะแทนที่ทางลัดนี้
<Prefix> & สำหรับฆ่าหน้าต่าง
<Prefix> x สำหรับฆ่าบานหน้าต่าง
หากมีบานหน้าต่างเดียว (เช่นหน้าต่างจะไม่แยกออกเป็นหลายบานหน้าต่าง<Prefix> xจะฆ่าหน้าต่าง)
ในฐานะที่เป็นซ้ำเสมอโดยทั่วไป<Prefix> CTRL+b(ฉันคิดว่าสำหรับคำถามเริ่มต้นเราสามารถพูดได้CTRL+bตลอดเวลาและไม่พูดถึงคำนำหน้าเลย แต่อย่างไรก็ตาม :))
respawn-pane -kพิมพ์แล้ว
โดยทั่วไป:
tmux kill-window -t window-number
ตัวอย่างเช่นหากคุณอยู่ในหน้าต่าง 1 และคุณต้องการฆ่าหน้าต่าง 9:
tmux kill-window -t 9
INFO=$(tmux new-window -P notepad) tmux kill-window -t $INFO
สำหรับฉันทางออกดูเหมือนว่า:
ctrl+b q เพื่อแสดงหมายเลขบานหน้าต่างctrl+b x เพื่อฆ่าบานหน้าต่างการฆ่าบานหน้าต่างสุดท้ายจะฆ่าหน้าต่าง
Killing last pane will kill window. ใช้งานไม่ได้สำหรับฉัน ฉันใช้แม็ค
หากคุณต้องการทำเพียงครั้งเดียวโดยไม่ต้องเพิ่มทางลัดคุณสามารถพิมพ์ได้ตลอดเวลา
<prefix>
:
kill-window
<enter>
ในขณะที่คุณถามว่าจะฆ่าหน้าต่างตอบสนอง บานหน้าต่างฉันมักจะไม่ต้องการที่จะฆ่า แต่เพียงเพื่อให้มันกลับสู่สถานะการทำงาน (รูปแบบของบานหน้าต่างมีความสำคัญกับฉันการฆ่าบานหน้าต่างทำลายมันดังนั้นฉันต้องสร้างใหม่); tmux จัดเตรียมrespawnคำสั่งให้กับเอฟเฟกต์: respawn-paneresp respawn-window. เพียงแค่คนอย่างฉันอาจพบทางออกนี้ที่นี่
วิธีการต่าง ๆ มากมายในการทำเช่นนี้ แต่สิ่งที่ฉันชอบคือเพียงพิมพ์ 'exit' บน bash prompt
ctrl + d ฆ่าหน้าต่างใน linux terminal, ยังทำงานใน tmux
นี่เป็นวิธีการหนึ่ง
โดยค่าเริ่มต้น
<Prefix>& สำหรับการฆ่าหน้าต่าง
<Prefix>x เพื่อฆ่าบานหน้าต่าง
และคุณสามารถเพิ่มข้อมูลการกำหนดค่า
vi ~/.tmux.conf
bind-key X kill-session
จากนั้น
<Prefix>X เพื่อฆ่าเซสชัน