ฉันจะทำให้บานหน้าต่าง tmux“ เหนียว” ได้หรือไม่?


9

เป็นไปได้ที่จะทำให้บานหน้าต่าง tmux ตั้งแต่หนึ่งบานขึ้นไป "เหนียว" หรือไม่ เช่นบานหน้าต่างเหล่านี้จะปรากฏในหน้าต่างทั้งหมดซึ่งปัจจุบันมีอยู่ในเซสชั่น tmux ของฉัน?

คำตอบ:


5

นี้ขึ้นมาอยู่ในรายชื่อทางไปรษณีย์ทุกครั้งเดียว ใน ในขณะที่

ไม่มันเป็นไปไม่ได้ที่จะมีบานหน้าต่างในมากกว่าหนึ่งหน้าต่าง

การออกแบบภายในของtmuxอนุญาตให้ windows เป็นหลายเซสชัน แต่บานหน้าต่างสามารถเป็นของหน้าต่างเดียวเท่านั้น


3

เช่นเดียวกับ Chris บอกว่าไม่มีฟังก์ชั่นในตัวที่อนุญาตให้ทำเครื่องหมายของบานหน้าต่างเป็นเหนียวและเหมาะสมเช่นนี้เพราะมันไม่ชัดเจนในทันทีวิธีการจัดการโครงสร้างของบานหน้าต่างทั้งหมดในหน้าต่างอื่น ๆ ทั้งหมด เมื่อคุณสลับ "stickiness" ของบานหน้าต่างบางบานในหน้าต่างปัจจุบัน โดยทั่วไปจะเป็นประสบการณ์การใช้งานที่ไม่ดีนักที่จะยุ่งกับเลย์เอาต์ในแบบที่ผู้ใช้ไม่สามารถมองเห็นได้

คุณอาจพบว่ามีประโยชน์ผูกเช่นนี้:

bind -n M-k move-pane -t ':+'
bind -n M-j move-pane -t ':-'

สิ่งนี้จะเป็นมิตรสำหรับผู้ใช้กลุ่มที่ใช้ J และ K สำหรับการเลื่อนไปทางซ้ายและขวา ด้วยการโยงนี้ tmux จะเข้าและกลืนAlt+KและAlt+Jย้ายบานหน้าต่างที่ใช้งานของคุณไปยังหน้าต่างด้านขวาและซ้ายตามลำดับ

มันจะดึงหน้าต่างปัจจุบันที่คุณอยู่และใส่เข้าไปในหน้าต่าง tmux ที่อยู่ติดกัน คุณสามารถระบุดัชนีที่จะแทรกบานหน้าต่างลงในเค้าโครงของหน้าต่างเป้าหมายได้ ดู manpage สำหรับตัวเลือกอื่น ๆ move-paneที่จะได้รับการ

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

ฉันยังพบว่าสิ่งนี้ไม่น่าพึงพอใจเนื่องจากความจำเป็นในการโฟกัสบานหน้าต่างที่ตั้งใจจะเป็น "เหนียว" และนั่นทำให้ยากที่จะออกคำสั่งนี้ได้อย่างรวดเร็วหากคุณต้องการมีบานหน้าต่างที่ติดหนึบที่มองเห็นได้ตลอดเวลา .

มีความเป็นไปได้ที่จะเกิดขึ้นกับการเขียนสคริปต์ tmux ที่ซับซ้อนขึ้นอีกเล็กน้อยซึ่งใช้ชื่อพิเศษสำหรับบานหน้าต่างที่คุณตั้งใจจะเหนียวและจัดเรียงสิ่งของให้คุณด้วยตนเอง แม้ว่ามันจะดูเหมือนความเจ็บปวดในตูด

ตัวเลือกสุดท้ายที่จะให้ความบันเทิงคือการใช้ tmux ที่ซ้อนกัน: วางแผงหนามเตยของคุณใน parent tmux และให้บานหน้าต่างอื่น ๆ บรรจุ tmux ซึ่งโฮสต์ส่วนที่เหลือของเทอร์มินัลของคุณ วิธีนี้คุณสามารถสลับไปมาในลูกของคุณ tmux ได้อย่างอิสระ ปัญหาของเรื่องนี้คือคุณจะต้องหาสิ่งที่สามารถใช้งานได้เพราะโดยปกติแล้วคุณจะต้องกดปุ่มคำนำหน้าสองครั้งเพื่อทำงานเดียวกัน น่ารำคาญมากเช่นกัน ฉันได้ผูกที่ "อุโมงค์" อย่างชาญฉลาดผ่าน tmuxes ที่ซ้อนกันใด ๆ แต่ตรรกะของข้อความที่ไม่มีประสิทธิภาพเหล่านี้ผ่านรูปแบบที่รวดเร็วกลายเป็นเรื่องยากที่จะจัดการ และข้อ จำกัด ในเรื่องนี้ก็คือ "บานหน้าต่างแปะ" ที่นี่ต้องขยายความสูงหรือความกว้างทั้งหมดไม่สามารถเป็นมุมได้

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


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