วิธีเพิ่มการแบ่งแนวนอนเข้ากับหน้าต่าง tmux ที่ขยายความกว้างทั้งหมดของหน้าต่างพาเรนต์?


29

เมื่อฉันมีหน้าต่าง tmux ในแนวตั้งแบ่งออกเป็นสองบานหน้าต่างฉันจะวางไข่บานหน้าต่างแนวนอนที่สามใหม่ที่แผ่ขยายไปตามความกว้างเต็มได้อย่างไร

เช่นฉันจะได้รับจากสิ่งนี้:

Ctr-b %

+–––––––––+–––––––––+
|         |         |
|         |         |
|         |         |  
|         |         |
|         |         |
+–––––––––+–––––––––+

สำหรับสิ่งนี้?

Ctr-b %
Ctr-b ... ตอนนี้อะไร

+–––––––––+–––––––––+
|         |         |
|         |         |
|         |         |  
|         |         |
|         |         |
+–––––––––+–––––––––+
|                   |
|                   |
+–––––––––––––––––––+

แทนที่จะเป็นแบบนี้

Ctr-b %
Ctr-b "

+––––––––+––––––––––+
|        |          |
|        |          |  
|        |          |
|        |          |
|        |          |
|        +––––––––––+
|        |          |  
|        |          |
+––––––––+––––––––––+

หมายเหตุ: ฉันไม่ต้องการวนเวียนชุดค่าผสมที่เป็นไปได้ทั้งหมดผ่านไปยังชุดรูปแบบที่Ctr-b Spaceต้องการในที่สุด - ควรจะมีความกระชับมากที่สุดเท่าที่จะทำได้


มันน่าทึ่งที่นี่ไม่ใช่ปัญหาที่แก้ไขแล้ว คำตอบทั้งหมดด้านล่างจนถึงตอนนี้ไร้ประโยชน์อย่างสมบูรณ์และไม่ตอบคำถามจริงของคุณ :-(
rob3c

คำตอบ:


17

คุณสามารถใช้หนึ่งในห้ารูปแบบที่ตั้งไว้ล่วงหน้าโหมด (กระเบื้อง) เพื่อให้บรรลุนี้ จากจุดเริ่มต้นของคุณ (แยกตามแนวตั้งเดี่ยว) เปิดบานหน้าต่างใหม่ซึ่งโดยค่าเริ่มต้นจะแบ่งบานหน้าต่างที่ใช้งานอยู่แล้วจัดเรียงบานหน้าต่างเป็นโหมดแบบเรียงต่อกัน:

Ctrlb,Alt5

จากman tmux:

M-1 ถึง M-5 จัดเรียงบานหน้าต่างในหนึ่งในห้ารูปแบบที่กำหนดไว้ล่วงหน้า: แนวนอนแนวนอนแนวตั้งหลักแนวนอนแนวตั้งหลักหรือกระเบื้อง

คุณสามารถเลือกที่จะเพิ่มselect-layout tiledปุ่มลัดลงไปในปุ่มลัดได้.tmux.confหากนี่เป็นเลย์เอาต์ที่คุณต้องการเป็นประจำ


ฉันร้องไห้เมื่อได้รู้ว่าtmuxมีการตั้งค่าหลังจากปีของการใช้งาน
DenisKolodin

คุณกดปุ่มใดบน Mac Ctrl b, Option 5จะไม่ทำงานสำหรับฉัน
Leo Galleguillos

18

รับ tmux เวอร์ชันใหม่ (อย่างน้อย 2.3)

จากหน้าคน:

-fตัวเลือกสร้างบานหน้าต่างใหม่ซึ่งประกอบไปด้วยความสูงของหน้าต่างแบบเต็ม (มี-h) หรือความกว้างหน้าต่างแบบเต็ม (มี-v) แทนการแยกบานหน้าต่างที่ใช้งานอยู่


คำตอบที่ดี แต่ตัวอย่างหนึ่งหรือสองตัวอย่างจะเป็นตัวอย่างที่ดีที่สุด
dbkeys

5

tmux 2.3 รองรับ-fสวิตช์split-windowที่ทำสิ่งที่คุณต้องการอย่างแน่นอน:

ตัวเลือก -f สร้างบานหน้าต่างใหม่ซึ่งครอบคลุมความสูงของหน้าต่างแบบเต็ม (กับ -h) หรือความกว้างหน้าต่างแบบเต็ม (กับ -v) แทนที่จะแยกบานหน้าต่างที่ใช้งานอยู่


3

คำถามเก่า แต่ต้องการเพิ่มถ้ามีเลย์เอาต์ที่คุณต้องการใช้บ่อยคุณสามารถใช้ได้

   tmux list-windows

เพื่อให้เค้าโครงปัจจุบัน (นี่จะเป็นสตริงเหมือนc904,273x74,0,0{81x74,0,0[81x29,0,0,1,81x21,0,30,2,81x22,0,52,3],191x74,82,0,0})

จากนั้นส่งสตริงนั้นไปที่select-layoutเพื่อใช้ ค้นหาselect-layoutในหน้า man สำหรับข้อมูลเพิ่มเติม


นั่นเป็นอาหารเสริมที่ยอดเยี่ยม!
2297550

2

หากคุณต้องการวางไข่บานหน้าต่างแนวนอนที่สามใหม่ที่แผ่ขยายเต็มความกว้างฉันขอแนะนำให้คุณลองทำเช่นนี้

Ctrl-b "

หรือเพื่อหมุนเวียน

พื้นที่ Ctrl-b


ขอบคุณสำหรับคำแนะนำของคุณ ฉันไม่ต้องการวนรอบเค้าโครงทั้งหมดที่เป็นไปได้ แต่เพียงวางไข่บานหน้าต่างที่สามด้วยเค้าโครงและตำแหน่งที่ต้องการ แต่บางทีคำแนะนำของคุณเป็นทางออกที่เป็นไปเพียงเพื่อให้บรรลุนี้ (ซึ่งผมหวังว่ามันจะไม่ได้ :)
jottr

@elementz ทำ ctrl-b "อัญประกาศคู่ทำงานหรือไม่
kmassada

ไม่นั่นctr-b "สร้างสิ่งที่คุณเห็นในตัวอย่างที่สามของฉันด้านบน
jottr

1

Ctrl + B ตามด้วย "(เครื่องหมายคำพูดคู่) เพื่อแบ่งออกเป็นสองหน้าต่างแนวนอน

Ctrl + B "o" เพื่อสลับกลับไปที่หน้าต่างด้านบน (ตรวจสอบเคอร์เซอร์ของคุณซึ่งจะบอกคุณว่าคุณอยู่ที่ไหน)

Ctrl + B ตามด้วย% (shift + 5) เพื่อแยกหน้าต่างด้านบน

ที่ควรทำงานกับการผูกคีย์เริ่มต้น


4
ขอบคุณที่พยายามตอบคำถามของฉัน แต่จุดเริ่มต้นไม่ใช่กระดานชนวนที่ว่างเปล่า แต่มีหน้าต่างที่แยกตามแนวตั้งอยู่แล้ว
jottr
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.