ย้ายบานหน้าต่างไปที่หน้าต่างใหม่ใน tmux


156

ฉันรู้ว่าเป็นไปได้ใน tmux ที่จะเข้าร่วมหน้าต่างเป็นบานหน้าต่าง แต่มันเป็นไปได้ที่จะย้ายบานหน้าต่างไปที่หน้าต่างของตัวเอง (แท็บ)? ฉันพยายามค้นหามันในหน้า man แต่ไม่สามารถหามันได้ ฉันเดาว่ามันเป็นไปได้ที่จะทำมันผ่านเชลล์สคริปต์ แต่มีวิธีอื่นที่สวยงามกว่านี้ไหม?

คำตอบ:


166

คำสั่ง tmux ที่เกี่ยวข้อง

  • join-pane -s
  • join-pane -t
  • break-pane

ผูก

คุณสามารถเพิ่มการเชื่อมโยงต่อไปนี้ใน~/.tmux.conf:

## Join windows: <prefix> s, <prefix> j
bind-key j command-prompt -p "join pane from:"  "join-pane -s '%%'"
bind-key s command-prompt -p "send pane to:"  "join-pane -t '%%'"

ด้านบนสามารถเลื่อนบานหน้าต่างระหว่างหน้าต่างที่มีอยู่

สำหรับการทำลายบานหน้าต่างไปยังหน้าต่างใหม่ใช้(ซึ่งยังสามารถจะผูกพัน) break-pane

การใช้การเปลี่ยนแปลง

ทั้งสามคำสั่งสามารถนำมาใช้จากพรอมต์ tmux ที่ชอบ<prefix>+:แล้วbreak-pane
หรือที่พรอมต์ของเปลือก(ภายใน tmux)tmux break-paneด้วย:


11
เป็นเรื่องน่าสังเกตว่าคุณกำหนดเป้าหมายบานหน้าต่างโดยใช้รูปแบบต่อไปนี้: "mysession: mywindow.mypane" (หากอยู่ในเซสชันอื่น) และ "mywindow.mypane" (หากอยู่ในเซสชันเดียวกัน) นอกจากนี้คุณยังสามารถใช้ "mysession: progname" ได้หากโปรแกรมที่ทำงานในบานหน้าต่างนั้นไม่ซ้ำกัน
Ben Davis

15
bind-key !จากคำตอบอื่น ๆ คือทั้งหมดที่ฉันต้องการ
guaka

137

จากรายการคำสั่งคุณจะเห็นว่ามันเรียกว่า break-pane และคำสั่งนั้นเป็นเพียงแค่

ผูกกุญแจ!

โดยที่ bind-key ถูกตั้งค่าเริ่มต้นเป็นCtrl+B


5
จะมีสิ่งที่แนบมากับบานหน้าต่าง "ทำลาย" ออกไปหรือไม่?
nazikus

3
@nazikus join-paneคุณสามารถใช้ หากคุณไม่เห็นการผูกไว้ในbind-key ?(ฉันไม่ได้ทำ) คุณสามารถเรียกพร้อมท์คำสั่งด้วยbind-key :และดำเนินการjoin-pane -t <destination pane index>ได้
Austin Adams

4
อย่าลืมลำไส้ใหญ่! มันเป็นjoin-pane -t <optional session name>:<destination pane index>เช่นjoin-pane -t :0
Walf

11

ใน tmux เวอร์ชันล่าสุดติดตั้งจาก homebrew บน OSx - 1.9a - การเชื่อมโยงคีย์ดีฟอลต์ใช้การเข้าร่วมบานหน้าต่างพร้อมเมนู

bind-key          S choose-window "join-pane -v -s "%%""
bind-key          V choose-window "join-pane -h -s "%%""
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.