การเลื่อนอย่างราบรื่นสำหรับกลุ่มใน Mac Terminal / iTerm?


13

เป็นไปได้หรือไม่ที่จะเลื่อนอย่างราบรื่น (โดยใช้ล้อเลื่อนของเมาส์หรือทัชแพด macbook) ภายในเทอร์มินัลใน Mac OSX (Lion) นอกจากนี้ฉันจะทำสิ่งนี้ภายในกลุ่มได้หรือไม่?

ฉันพบว่าการเลื่อนอย่างราบรื่นช่วยให้อ่านรหัสได้ฉันไม่ชอบเมื่อคุณสามารถเลื่อนในบรรทัดที่แยกกันเท่านั้นซึ่งต่างจากการเลื่อนแบบพิกเซลต่อพิกเซล

ขอบคุณ


คุณอาจมีประสบการณ์ที่ดีขึ้นหากคุณใช้แอปพลิเคชั่น Vim แทนที่จะใช้แอปพลิเคชันภายในเซสชันเทอร์มินัล ( code.google.com/p/macvim , macvim.org/OSX ) มีเหตุผลที่คุณต้องใช้ภายในเทอร์มินัลหรือไม่?
Chris หน้า

3
MacVim ไม่ได้ให้การเลื่อนที่ราบรื่น
romainl

สวัสดี @ ฉีด ฉันสงสัยว่ากลุ่มทำงานอย่างไรหากขนาดบัฟเฟอร์ (ขนาดหน้าต่าง) ใหญ่จริงๆ (เช่นขนาดของไฟล์ทั้งหมด) GOtta ทดสอบสิ่งนี้ จากนั้นเราสามารถใส่ vim buffer ภายในวิดเจ็ต GTK (หรือ QT) แบบเลื่อนที่ราบรื่นและเลื่อน vim buffer ทั้งหมดภายในวิดเจ็ตได้อย่างราบรื่น สิ่งนี้จะเป็นประโยชน์เพิ่มเติมที่เคอร์เซอร์อาจถูกซ่อนไว้อย่างง่ายดายเหมือนกับเครื่องมือแก้ไขที่ทันสมัย เมื่อผู้ใช้เลื่อนเคอร์เซอร์วิดเจ็ตจะรู้ (ใช้ API gVim เดียวกันกับที่ใช้) และเลื่อนตำแหน่งเลื่อนอีกครั้ง
trusktr

(ต่อ) การแยกหน้าต่างอาจทำได้โดยการทำสำเนาไฟล์เต็มความยาวของ vim ให้เป็นวิดเจ็ตใหม่และเลื่อนวิดเจ็ตไปยังตำแหน่งที่เหมาะสมอย่างราบรื่น ทั้งหมดนี้ต้องใช้เลขคณิตอย่างง่ายและมีความรู้ที่ดีเกี่ยวกับชุดเครื่องมือวิดเจ็ตที่ดี การแยกหน้าต่าง (แนวนอนและแนวตั้ง) และการเลื่อนและปรับขนาดวิดเจ็ตจะเป็น ส่วนที่เหลือจะเป็นเค้กที่ต้องทำ (เมนูแท็บสิ่งที่ gVim และ qVim ทำไปแล้ว)
trusktr

(ต่อ) นี่เป็นโอกาสที่จะปรับปรุงประสิทธิภาพของเสียงเรียกเข้าอย่างมากมายเช่นกัน คิดเกี่ยวกับสิ่งนี้: ทุกครั้งที่คุณเลื่อนคอนโซล vim หรือ g / qvim windows (ปัจจุบัน), vim จะต้องเขียนตัวละครเกือบทุกตัวบนหน้าจอ หากบัฟเฟอร์ vim มีความยาวเต็มและการเลื่อนถูกจัดการอย่างอิสระโดยวิดเจ็ตการเลื่อนแบบเรียบ vim จะต้องอัปเดตอักขระมูลค่าหนึ่งบรรทัดในแต่ละครั้งเมื่อใดก็ตามที่คุณย้ายเคอร์เซอร์ไปที่บรรทัดใหม่ (หรือดีกว่า เมื่อคุณเลื่อนไปข้างหน้าหรือข้างหลังตัวละครตัวหนึ่ง) นี่จะเป็นข้อได้เปรียบด้านประสิทธิภาพอย่างมากสำหรับเสียงเรียกเข้า!
trusktr

คำตอบ:


5

ฉันใช้ iterm2 และฉันพบการใช้งานที่ดีมากโดยใช้ vim 7.3 ในเครื่องเทอร์มินัลด้วยตัวเลือกต่อไปนี้:

set mouse=niv #or set mouse=a
set clipboard=unnamed

แก้ไข: set mouse = a ยังเจ๋งที่จะใช้ตามที่ระบุโดยข้อเสนอแนะอื่น ๆ

สิ่งนี้จะเปลี่ยนคุณเป็นโหมดภาพโดยอัตโนมัติจากปกติในขณะที่เลือกข้อความหรือเข้าสู่โหมดที่ระบุว่า - (แทรก) ภาพ - จากโหมดแทรก สิ่งนี้ยังมีข้อได้เปรียบที่สะดวกกว่าการไม่ตั้งโหมดเหล่านี้เลยเมื่อคุณมีหมายเลขบรรทัดหรือหมายเลขบรรทัดสัมพัทธ์มันจะดำเนินต่อไปและคัดลอกหมายเลขเหล่านั้นที่คุณไม่ต้องการคัดลอก เมื่อมันหยดคุณเข้าสู่โหมดภาพที่เปิดใช้งานเมาส์ด้วยวิธีนี้มันจะหลีกเลี่ยงการคัดลอกหมายเลขบรรทัดเหล่านั้นเนื่องจากมันทำงานเพื่อควบคุมการเลือกโหมดภาพแทนการเลือกของเทอร์มินัลดั้งเดิม (ซึ่งถูกระงับ) การเลื่อนใช้งานได้ดีตลอดโดยจำไว้ว่ามันเลือกทุกอย่างตั้งแต่ที่คุณเริ่มการเลือกไปจนถึงด้านล่างของหน้าจอ ลืมเกี่ยวกับ ctrl + c / ctrl + v ใน vim - คุณใช้คำสั่ง vim yankypasta (y, yy, p,

http://vim.wikia.com/wiki/Mac_OS_X_clipboard_sharing#Comments

อีกครั้ง iterm2 - เทอร์มินัลในตัวของ osx คือถังขยะ ฉันไม่เห็นเนื้อวัวของคุณที่มีการเลื่อนแบบบรรทัดต่อบรรทัดเพราะฉันมีความสุขกับวิธีการที่ฟังก์ชั่นนี้เป็นเพียงเสียงเรียกเข้า แต่อาจเป็นเพราะเหตุผลแบบเดียวกันกับที่ฉันไม่สามารถดูคนอื่นเล่นวิดีโอเกม อาการเมารถหรือทำไมแสงฟลูออไรด์และจอภาพ CRT วูบวาบกับศีรษะของผู้คนจนถึงจุดที่เกิดอาการไมเกรน ลองปรับอัตราการรีเฟรชในสมองของคุณคุณสามารถรู้สึกถึงลูกบิดถ้าคุณกดเข้าไปในพระวิหารของคุณอย่างหนักและเลี้ยว


0

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

คุณอาจต้องเพิ่ม

set mouse=a

ถึง. vimrc ของคุณ ดู:help mouseข้อมูลเพิ่มเติม


น่าเสียดายที่ปลั๊กอินนั้นต้องใช้ SIMBL ซึ่งไม่มีให้บริการสำหรับ Lion
Eddy

ฉันไม่รู้เพราะฉันไม่มีสิงโต MouseTerm เป็นวิธีเดียวที่จะเพิ่มการเลื่อนเมาส์ไปที่ Terminal.app ที่ฉันเคยรู้จัก ดูเหมือนว่าบางคนรายงานว่าประสบความสำเร็จอย่าง จำกัดในการใช้ SIMBL บน Lion คุณลองหรือยัง นอกจากนี้ฉันเห็นว่า iTerm2 มี "การรายงานเมาส์" และการเลื่อน แต่อาจจะเลื่อนทีละบรรทัด ในฐานะที่เป็นบันทึกข้างฉันแทบจะไม่เลื่อน (ขึ้น / ลง / เจ / k) อีกต่อไป: ฉันพบ/, ?, fF, tTและ<C-f>/ <C-b>จำนวนมากมีประโยชน์มากขึ้น
romainl

โปรดทราบว่าสิ่งเหล่านี้ทำให้การเลื่อนล้อเลื่อนของเมาส์ทำงานได้ แต่พวกเขาไม่ได้แก้ไขปัญหาหลัก:“ ฉันไม่ชอบเมื่อคุณสามารถเลื่อนเป็นเส้นแยกเท่านั้นเมื่อเทียบกับการเลื่อนแบบพิกเซลต่อพิกเซลอย่างต่อเนื่อง”
Chris หน้า

การเลื่อนแบบนี้ (ทีละบรรทัด) เป็นฮาร์ดโค้ดใน Vim ไม่มีทางที่จะขอบคุณมันได้ ถ้าใครต้องการมันก็ควรจะยืนยันด้วยคำพูดอย่างระมัดระวังในvim-devหรือจัดหาแพทช์
romainl

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