ฉันจะปิด“ การเลื่อนดูประวัติ” ใน iTerm2 ได้อย่างไร


290

ฉันได้ติดตั้ง iTerm 2 ใหม่มันถามฉันในแถบสีเหลืองที่ด้านบนหากฉันต้องการเปิดใช้งานคุณสมบัติเมาส์ น่าเสียดายที่ฉันจำประโยคไม่ได้อีกต่อไป

ฉันได้รับอนุมัติโดยอุบัติเหตุ ตอนนี้เมื่อฉันใช้ล้อเลื่อนของเม้าส์ใน iTerm มันไม่ได้เลื่อนขึ้นอีกต่อไป แต่มันกลับเป็นต้นเหตุของประวัติคำสั่ง เช่นถ้าฉันจะกดเคอร์เซอร์ขึ้น

ฉันไม่พบการตั้งค่าที่เหมาะสมที่จะปิดอีกครั้ง ไม่มีใครรู้ว่าฉันสามารถสลับตัวเลือกนี้ได้ที่ไหน

ขอบคุณที่ช่วย!


3
ฉันคิดว่าคุณใช้ iTerm2.9 และข้อความที่คุณเห็นคือ "คุณต้องการล้อเลื่อนเพื่อเลื่อนเคอร์เซอร์ในโปรแกรมเชิงโต้ตอบเช่นนี้หรือไม่?" อย่างไรก็ตามฉันไม่สามารถหาอินเทอร์เฟซเพื่อสลับมันได้หรือไม่ ปัญหา?
sel-fish

1
ใช่ แต่เมื่อฉันลงชื่อเข้าใช้เซิร์ฟเวอร์ผ่าน ssh ฉันไม่รู้ว่าสิ่งนี้จะเชื่อมต่อได้อย่างไร
Gambo

"เฉพาะเมื่อฉันลงชื่อเข้าใช้เซิร์ฟเวอร์ผ่าน ssh" คุณหมายถึงว่าเมื่อคุณใช้ iTerm2 สำหรับการดำเนินงานในท้องถิ่นนั่นจะไม่เกิดขึ้น? คุณใช้ 'โปรไฟล์' ที่แตกต่างกันเมื่อ 'ล็อกอินเข้าสู่เซิร์ฟเวอร์ผ่าน ssh' หรือไม่
sel-fish

จะต้องมีอักขระควบคุมเทอร์มินัลส่งไปเพื่อเปิดและปิดหน้าจอสำรอง ฉันคิดว่ามันจะดีขึ้นในระยะยาว (ไม่เฉพาะ iTerm2 หรือ vim หรือน้อยกว่า) เพื่อเรียนรู้ว่าอักขระควบคุมนั้นคืออะไร อาจเป็นESC [ ? 1 0 4 9 lหรือESC [ ? 1 0 4 7 lหรือESC [ ? 47 l( gnu.org/software/screen/manual/html_node/Control-Sequences.html )
dlamblin

2
สิ่งนี้เพิ่งเริ่มเกิดขึ้นแบบสุ่มสำหรับฉัน .. น่าผิดหวังเมื่อคุณพยายามมองผ่านบันทึก
SgtPooki

คำตอบ:


493

เทอร์มินัลสองสามแห่งรวมถึง iTerm2 มีคุณสมบัติที่จะเปลี่ยนพฤติกรรมของล้อเลื่อนของเมาส์เมื่อโปรแกรมเต็มหน้าจอเช่นviหรือscreenหรือtmuxกำลังทำงานอยู่ สิ่งนี้เกิดขึ้นเมื่อโปรแกรมเหล่านั้นใช้หน้าจอทางเลือกเพื่อจัดเตรียมฟังก์ชั่นที่มีประโยชน์ โดยปกติเมื่อใช้หน้าจอทางเลือกใน iTerm2 เมาส์ล้อจะทำหน้าที่เหมือนแถบเลื่อนเลื่อนหน้าจอขึ้น / ลงทั้งหมด แต่เมื่อเปิดใช้งานฟีเจอร์นี้ iTerm2 จะส่งเคอร์เซอร์ขึ้น / ลงคีย์ทำให้ประวัติการเปลี่ยนแปลงคำสั่งของคุณ

ตามที่แนะนำในความคิดเห็นอื่นเลือกเมนูการตั้งค่า :

ป้อนคำอธิบายรูปภาพที่นี่

และในนั้นเลือกแท็บขั้นสูง เลื่อนลงไปที่ส่วนMouse

ป้อนคำอธิบายรูปภาพที่นี่

และสลับรายการสำหรับ

ล้อเลื่อนส่งปุ่มลูกศรเมื่ออยู่ในโหมดหน้าจออื่น

จากใช่จะไม่มี คุณจะต้องเริ่มต้น iTerm2 ใหม่เพื่อให้การเปลี่ยนแปลงมีผล (ด้วยการเปลี่ยนแปลงiTerm2 v3.1.5จะมีผลโดยไม่ต้องเริ่มต้นใหม่)


2
ฉันทดสอบก่อนที่จะเขียนความคิดเห็น - เพียงแค่สลับตัวเลือกไม่เพียงพอ
Thomas Dickey

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

3
3.0.12 ไม่จำเป็นต้องรีสตาร์ทเพื่อให้สิ่งนี้มีผล
dhempler

21
//, ฉันชอบคุณสมบัตินี้และใช้งานเป็นกลุ่ม ฉันจะออกจากโหมดหน้าจออื่นในหน้าต่างเทอร์มินัลที่กำหนดได้อย่างไร UPDATE: ในเทอร์มินัลที่อยู่ในโหมดหน้าจออื่นให้เปิดโปรแกรมเทอร์มินัลที่เปิดใช้งานโหมดหน้าจอทางเลือก ออกจากโปรแกรมนั้นอย่างหมดจด นี่เป็นการสิ้นสุดปัญหาชั่วคราว ฉันคิดว่าสิ่งนี้บ่งชี้ว่าปัญหาเกิดจากการออกจากโปรแกรมที่ใช้คุณสมบัติหน้าจอสำรองในลักษณะที่ผิดปกติ
Nathan Basanese

6
ท่านช่วยข้าด้วยความวิกลจริตอันบริสุทธิ์
BK

60

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

การเลื่อนประวัติด้วยวงล้อเม้าส์ในทางทฤษฎีไม่ควรเกิดขึ้น มันเกิดขึ้นในทางปฏิบัติเพราะบางครั้งโหมดหน้าจอทางเลือกจะไม่ถูกสลับกลับอย่างถูกต้อง คำตอบที่ยอมรับแก้ปัญหาโดยการยกเลิกคุณสมบัติที่มีประโยชน์คือการเลื่อนใน vi, น้อยกว่า, ... ด้วยล้อเลื่อนของเมาส์หรือแทร็กแพด คุณสามารถป้องกันตัวเลือกจากการตั้งค่าขั้นสูง:

ล้อเลื่อนส่งปุ่มลูกศรเมื่ออยู่ในโหมดหน้าจออื่น

ตั้งค่าเป็นใช่ บางครั้งคุณจะติดกับดักในโหมดประวัติการเลื่อน แต่ถ้าคุณรู้วิธีหลบหนีมันไม่ใช่ปัญหา


2
ขอบคุณสำหรับคำแนะนำ! สิ่งนี้ช่วยฉันออก :)
jj172

1
ขอบคุณคน! แต่การเข้าและออกจาก vi ไม่ได้ช่วยในกรณีของฉันด้วยเหตุผลบางอย่าง แต่มันทำงานหลังจากเข้าสู่หน้าคนและออกโดยกด q
Frax

1
มันมีประโยชน์มาก การเลื่อนเป็นการเพิ่มอย่างฉับพลัน[[A^และ[[B^ไปยังบรรทัดคำสั่งแทนที่จะเลื่อนหน้าต่าง ฉันรู้ว่านี่ไม่ใช่พฤติกรรมปกติ ก่อนหน้านี้ฉันทิ้งคอมพิวเตอร์ไว้nanoในเชลล์ SSH ที่ถูกตัดการเชื่อมต่อเมื่อฉันปิดแล็ปท็อป ทางออกทันทีที่เห็นได้ชัดว่าเป็นผู้กระทำผิด เพียงเปิดแท็บใหม่ใน iTerm2 แก้ไขสิ่งนี้
โคลินมาร์แชลล์

น่าเสียดายเมื่อใช้screenคุณไม่สามารถใช้เคล็ดลับนี้เพื่อออกจากโหมดหน้าจออื่น ดังนั้นหากคุณกำลังใช้screenงานจำนวนมาก (เช่นฉัน) การปิดใช้งานคุณสมบัติทั้งหมดเป็นตัวช่วยชีวิต
mvreijn

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

42

คุณอาจต้องออกจากคอนโซลสำรอง

ลอง: tput rmcup


1
คำตอบที่ดี A + 💯
dps

คำตอบที่ดีกว่านี้มาก - นี่ช่วยให้คุณเลื่อนดูประวัติในขณะที่ยังสามารถเลื่อนได้เป็นกลุ่ม ขอบคุณ!
JonLuca

10

การตั้งค่า: ขั้นสูง: เมาส์: ล้อเลื่อนส่งปุ่มลูกศรเมื่ออยู่ในโหมดอื่น


2
ฉันมีปัญหาตรงนี้ที่อธิบายไว้ แต่ใน iTerm Mouse ใหม่ล่าสุดไม่ได้อยู่ภายใต้ Prefences: Advanced เพียงแค่ทริกเกอร์การเลือกอย่างชาญฉลาดและประวัติความหมาย ใครรู้วิธีอื่นในการแก้ไขปัญหานี้
mikeLspohn

9

ด้วย iTerm2 คุณสามารถถือ Option ขณะที่ใช้ล้อเลื่อนเพื่อบังคับให้เลื่อนหน้าต่างได้ในกรณีที่คุณต้องการให้ล้อเลื่อนทำงานเป็นกลุ่มต่อไป


ใช้งานได้ แต่ฉันจะกลับไปยังจุดเริ่มต้นได้อย่างไรเมื่อฉันไม่ต้องกดปุ่มตัวเลือก
meso_2600

2

พฤติกรรมที่คุณเห็นคือพฤติกรรมที่คาดหวัง (และถูกต้อง) เมื่ออยู่ในหน้าจออื่น ปัญหาเดียวที่คุณมีคือการที่คุณหลุดไปทุบตีหรืออะไรก็ตามบนหน้าจออื่นอาจเป็นไปได้ในขณะที่การเชื่อมต่อขาดหายหรือจากเสียงเรียกเข้าที่ถูกฆ่าหรือน้อยกว่า EG คุณอยู่ในless +F /var/log/somethingและถูกตัดการเชื่อมต่อ

คุณเห็นใครบางคนได้เขียนไว้แล้วว่าtput rmcupคำสั่งจะออกไปที่หน้าจอหลัก

ฉันยังเดินหน้าและค้นหาตัวควบคุมเทอร์มินัลบางตัว มันอาจเป็นใด ๆ ของ: ESC [ ? 1 0 4 9 lหรือ( ESC [ ? 1 0 4 7 lหรือESC [ ? 47 lgnu.org/software/screen/manual/html_node/Control-Sequences.html) โดยมีการตั้งค่าเป็นครั้งแรก

โดยทั่วไปแล้วฉันประสบความสำเร็จใน iTerm2 ด้วยecho -e '\e[?1049l'จริง ๆ แล้วฉันrmcupจำไม่ได้ว่าจำง่ายขึ้นคืนค่าหน่วยความจำของคอนโซลได้ไหม


1

ฉันมีปัญหาเดียวกันนี้และไม่มีวิธีแก้ไขปัญหาที่ฉันอ่านและลองใช้งานได้ สิ่งที่แก้ไขปัญหาของฉันคือการปิด Secure Keyboard Entry และตอนนี้เมื่อฉันใช้เมาส์เพื่อเลื่อนใน ssh และในโหมด terminal ใน macOS 10.13 มันใช้งานได้เหมือนที่ฉันคาดไว้!

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