เลื่อนบน Mac ด้วย Tmux และ iTerm


16

ฉันใช้ iTerm 2.1.4 และ Tmux บน OS X Yosemite ฉันต้องการที่จะสามารถเลื่อนขึ้นและลง iTerm windows ของฉัน แต่ฉันไม่แน่ใจว่าสิ่งที่ควบคุมการเลื่อน tmux control scrolling เมื่อฉันใช้กับ iTerm หรือ iTerm ยังควบคุมการเลื่อนอยู่หรือไม่?

ฉันพยายามใช้ปุ่มต่าง ๆ ที่ควรจะเลื่อน iTerm แต่ทั้งหมดที่ฉันได้รับคือ "~~~~~" อักขระบนบรรทัดคำสั่ง ฉันจะเลื่อนด้วยการตั้งค่านี้ได้อย่างไร

คำตอบ:


31

การเลื่อน Tmux นั้นแตกต่างจากการเลื่อนด้วยล้อเลื่อนของเมาส์หรือแทร็คแพด

ใน tmux การเลื่อนสามารถทำได้โดยการส่ง 'prefix- [' ครั้งแรก คุณจะเห็นกล่องสีเหลืองเล็ก ๆ ที่มุมบนขวามือของหน้าต่างเทอร์มินัลของคุณ

ในโหมดนี้คุณสามารถใช้ปุ่มลูกศร, PageUp, PageDown, Ctrl-U, Ctrl-D, hjkl (โหมด vi) หรือปุ่มการเคลื่อนไหวอื่น ๆ ที่กำหนดค่าได้เพื่อเลื่อนไปข้างหน้าหรือย้อนกลับผ่านบัฟเฟอร์

มีตัวเลือกในการสร้าง tmux ที่ค่อนข้างล่าสุดซึ่งอนุญาตให้คุณใช้เมาส์ขณะอยู่ในโหมดเลื่อน

เพิ่มลงใน. tmux.conf ของคุณ

set-option -g mouse on

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

แก้ไข 1: หลังจากอัปเกรดเป็น El Capitan ฉันสังเกตเห็นพฤติกรรมที่ไม่คุ้นเคยเมื่อใช้ Terminal.app และ tmux สิ่งนี้ทำให้ฉันมีตัวเลือกรายละเอียดบทความที่ยอดเยี่ยมฉันไม่ทราบและมีลักษณะที่จะตอบคำถามของคุณอย่างละเอียดมากกว่าที่ฉันคาดหวัง ตัวเลือกทั้งหมดเป็นเฉพาะ tmux เท่าที่ฉันสามารถบอกได้และเป็นอิสระจาก OSX เวอร์ชันดังนั้นการใช้ใน Yosemite ควรจะใช้ได้ คำถามการเลื่อนของคุณครอบคลุมอยู่ที่นี่พร้อมตัวเลือกเช่น:

bind-key -t vi-copy WheelUpPane scroll-up
bind-key -t vi-copy WheelDownPane scroll-down

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

https://ryanfb.github.io/etc/2015/10/19/tmux_mouse_mode_on_el_capitan.html


3
ลิงก์ที่แชร์ที่ด้านล่างของคำตอบนี้ยอดเยี่ยม แต่ตอนนี้ล้าสมัยเล็กน้อย เพื่อให้บรรลุเป้าหมายของคุณคุณจะต้องอ่านสิ่งนี้: github.com/tmux/tmux/issues/754#issuecomment-297452143
John Ruiz

ใช้งานไม่ได้สำหรับฉันกับเซียร์ราสูง
Ulysse BN

ทำงานใน iterm2 โดยใช้ tmux แต่เลอะใน terminal.app กับสิ่งต่าง ๆ เช่นการเลื่อนในกลุ่มหยุดทำงานแล้วคัดลอกวางกลายเป็น weirder
Ishan Srivastava

1

ฉันพบวิธีต่อไปนี้เพื่อจัดการกับมัน (macOS Mojave):

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

  • ไปที่การตั้งค่า iTerm -> "ขั้นสูง" -> "ล้อเลื่อนส่งปุ่มลูกศรเมื่ออยู่ในโหมดหน้าจออื่น" -> ตั้งค่าเป็น "ใช่"

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