การปรับขนาดบานหน้าต่างแยกหน้าจอใน tmux


53

ฉันต้องการปรับขนาดบานหน้าต่างเพื่อให้ฉันสามารถขยาย / บีบขนาดบานหน้าต่าง (ขึ้น / ลง / ซ้าย / ขวา ฯลฯ ) ..

มีวิธีใดที่จะทำให้เสร็จ

คำตอบ:


68

สมมติว่าคีย์คำนำหน้าของคุณยังคงเป็นค่าเริ่มต้นของ Ctrl-B
^ B: resize-p -D 2
^ B: ปรับขนาด -p -U 2
^ B: ปรับขนาด -p -L 2
^ B: ปรับขนาด -p -R 2
ตัวเลข ในตอนท้ายจะเป็นตัวเลือกเริ่มต้นที่ 1 -U เป็นค่าเริ่มต้นและไม่จำเป็น

หากคุณเคยลืมสิ่งนั้น ^ B? จะแสดงสิ่งเหล่านี้ที่พบใน C-Up และ C-Down และ C-Left และ C-Right ที่ส่วนท้ายของคีย์ (พร้อมการผูกคีย์เริ่มต้น)

คุณสามารถลองกด Ctrl + B แล้วตามด้วย Ctrl + ปุ่มลูกศร
อย่างไรก็ตามโปรดทราบว่า Ctrl-arrow-keys อาจมีปัญหาในบางเครื่อง ดังนั้นคุณสามารถลองระบุข้อ จำกัด ของเทอร์มินัลหรือสร้างการเชื่อมโยงคีย์ลัดใหม่หรือเพียงแค่ไม่ใช้ทางลัดและใช้คำสั่งที่ยาวกว่าดังที่แสดงด้านบน


43
บน MacBook ของฉันเริ่มต้นที่ฉันสามารถใช้แล้วCtrl+B Esc + (arrow key)
James M. Lay

3
@ JamesM.Lay โอ้มันใช้งานได้ แต่ถ้าฉันต้องการเพิ่มขนาด 2 หรือมากกว่า? เพราะesc + (arrow)ใช้งานได้เพียงครั้งเดียวหลังจากนั้นฉันต้องใช้Ctrl+Bแล้วจึงสมัครesc + (arrow)ใหม่อีกครั้ง
Adiyat Mubarak

5
@AdiyatMubarak คุณจะไม่ต้องใช้Ctrl+Bอีกถ้าคุณกดEsc + (arrow)อย่างต่อเนื่อง ตกลงนี้ไม่สะดวกสบายมาก แต่ก็ใช้งานได้
th3an0maly

2
@ JamesM.Lay อีกวิธีหนึ่งCtrl+BและM-(arrow)ทำงานสำหรับฉัน โดยปกติaltและEscทั้งส่งMeta
Olas

Ctrl+Bจากนั้นoptionกดปุ่มต่อไปพร้อมกับกดปุ่มลูกศร แต่ฉันก็จำเป็นต้องใช้หลายครั้ง
Yuxuan Chen

40

ทางเลือกหนึ่งสำหรับปรับขนาดบานหน้าต่างคือใช้เมาส์ หากต้องการทำสิ่งนี้ให้เพิ่มบรรทัดเหล่านี้ใน.tmux.conf:

set -g mode-mouse on
set -g mouse-resize-pane on

หากคุณใช้ Mac และข้างต้นใช้งานไม่ได้ให้ใช้สิ่งนี้แทน (ที่มา ):

set-option -g mouse on

เมื่อโหมดนี้เปิดใช้งานเพียงคลิกและลากบนตัวแบ่งบานหน้าต่างเพื่อปรับขนาด


3
set -g mouse on #for newer versions
รักความน่าจะเป็น

ชีวิตของฉันเปลี่ยนไป! สิ่งนี้ทำงานบนอินสแตนซ์ Ubuntu ของฉันบน WSL (ระบบย่อย Windows สำหรับ Linux) ... โอ้ แต่ตอนนี้ฉันไม่สามารถวางด้วยปุ่มเมาส์ขวาอีกต่อไป Linux บน Window ยังคงน่าอึดอัดใจ
flickerfly

21

ฉันเพิ่งเพิ่มบรรทัดต่อไปนี้ไปยังไฟล์ tmux.conf ของฉัน

bind j resize-pane -D 10
bind k resize-pane -U 10
bind l resize-pane -L 10
bind h resize-pane -R 10

และตอนนี้ฉันสามารถใช้ Ctrl-a (คีย์คำนำหน้าของฉัน) กับ [h | j | k | l] เพื่อปรับขนาดบานหน้าต่าง


1
และตอนนี้ฉันไม่สามารถใช้ h | j | k | l keys
subhojit777

1
@ subhojit777 .. คุณควรจะสามารถใช้ปุ่ม [h | j | k | l] โปรดจำไว้ว่าการปรับขนาดบานหน้าต่าง tmux คุณยังต้องเพิ่มคีย์คำนำหน้า (Ctrl-b โดยค่าเริ่มต้น .. Ctral-a คือการแทนที่ของฉัน) ก่อนที่คุณจะกดปุ่มเหล่านั้น นอกจากนี้คุณยังสามารถเลือกที่จะเปลี่ยนผูกพันกับสิ่งที่คุณต้องการ .. จุดที่จะให้ประชาชนทราบเกี่ยวกับการบันทึกไว้ในไฟล์ tmux.conf
Prashant

คุณควรจะสลับlกับการhที่จะมีการผูก VI
Hendrik

11

สมมติว่าคีย์คำนำหน้าของคุณคือ Ctrl-B (Cmd-B บน Mac):

  1. กด Ctrl-B แล้วปล่อย
  2. กดเมตาค้างไว้ (ตัวเลือกบน Mac)
  3. ในขณะที่กดปุ่มลูกศร Meta ค้างไว้ซ้ำ ๆ เพื่อปรับขนาดบานหน้าต่างปัจจุบัน

ดูเหมือนว่าจะมีการหมดเวลาดังนั้นหากคุณไม่กดปุ่มลูกศรขณะถือ Meta ภายใน 1 หรือ 2 วินาที Meta- {ลูกศร} จะถือเป็นอินพุตในพรอมต์ปัจจุบัน


นี่เป็นวิธีที่ง่ายที่สุดสำหรับฉันที่จะจำได้ แต่บางครั้งมันใช้เวลานานเกินไป เป็นไปได้ไหมที่จะเปลี่ยนจำนวนปุ่มลูกศรแต่ละครั้งที่เพิ่มขนาดบานหน้าต่าง?
connorbode

7

ฉันเพิ่งค้นพบวิธีอื่น เห็นtmuxได้ชัดว่ามีการกดปุ่มสองแบบที่แตกต่างกัน (สมมติว่าคีย์คำนำหน้าของคุณยังคงอยู่Ctrlb)

  1. กดCtrlbยกนิ้วมือของคุณแล้วกดหนึ่งในarrowกุญแจ สวิตช์นี้โฟกัส
  2. กดCtrlbไม่ยกนิ้วของคุณแล้วกดปุ่มใดปุ่มหนึ่งarrowพร้อมกัน นี่เป็นการปรับขนาดบานหน้าต่างและฉันเดาว่าเร็วกว่าวิธีอื่นใด

ในทำนองเดียวกันCtrlboก็มีพฤติกรรมที่แตกต่างกัน ปุ่มกดชนิดแรกสลับโฟกัสและบานเลื่อนปุ่มกดประเภทที่สอง


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