จะเน้นบรรทัดปัจจุบันเฉพาะในหน้าต่างที่เลือกได้อย่างไร


12

ถาม : มีวิธีการhl-line-modeเน้นบรรทัดปัจจุบันเฉพาะในหน้าต่างที่เลือกหรือไม่

เมื่อฉันมีหลายหน้าต่างแสดงบัฟเฟอร์ด้วยhl-line-mode มันเป็นเรื่องยากที่จะบอกได้อย่างรวดเร็วซึ่งเป็นหน้าต่างปัจจุบัน

ฉันได้cursor-in-non-selected-windowsตั้งค่าตัวแปรnilให้แสดงเคอร์เซอร์เฉพาะในหน้าต่างปัจจุบัน แต่คิวภาพนั้นเต็มไปด้วยเส้นที่ถูกเน้นสีในหน้าต่าง

มีการตั้งค่าที่คล้ายกันหรือไม่ที่อนุญาตให้ฉันhl-line-modeแสดงบรรทัดที่ถูกเน้นสีในหน้าต่างปัจจุบันเท่านั้น? ยิ่งไปกว่านั้นมีวิธีที่จะให้บรรทัดที่เน้นสีแตกต่างกันเมื่ออยู่ในหน้าต่างที่ไม่ใช้งาน (คล้ายกับmode-line-inactive) หรือไม่?

PS: ใช่ฉันสามารถดูบรรทัดของโหมดเพื่อบอกว่าหน้าต่างใดเปิดใช้งานอยู่ แต่การทำเช่นนั้นจะทำให้ตาของฉันออกไปจากสิ่งที่ฉันกำลังทำอยู่และหยุดพักสมาธิ


ดูเหมือนว่าหากคุณเปิดใช้งาน hl-line-mode ด้วยglobal-hl-line-mode(แทนที่จะเรียกใช้ hl-line-mode สำหรับแต่ละบัฟเฟอร์) ดังนั้นเฉพาะบรรทัดหน้าต่างที่เลือกจะถูกเน้น
อิกบัลอันซารี

@IqbalAnsari: น่าสนใจ! แต่น่าเสียดายที่ฉันเพียงต้องการที่จะใช้hl-line-modeในประเภทบัฟเฟอร์ไม่กี่ ( occur, mu4eฯลฯ ) ฉันจะขุดในซอร์สโค้ดเมื่อฉันได้รับสักครู่
แดน

คำตอบ:


9

คุณสามารถตั้งค่าhl-line-sticky-flagเป็นnil

hl hl-line.elเส้นเหนียวธงเป็นตัวแปรที่กำหนดไว้ใน

ไม่ใช่ศูนย์หมายความว่าไฮไลต์โหมด HL-Line ปรากฏขึ้นในทุกหน้าต่าง มิฉะนั้นโหมด Hl-Line จะเน้นเฉพาะในหน้าต่างที่เลือก การตั้งค่าตัวแปรนี้จะมีผลในครั้งต่อไปที่คุณใช้คำสั่งhl-line-modeเพื่อเปิดโหมด Hl-Line

ตัวแปรนี้ไม่มีผลในโหมด Global Highlight Line global-hl-line-sticky-flagสำหรับการที่ใช้


1
ฮา! ผมไม่ทราบว่านี่เป็นตัวเลือกและจบลงด้วยการเขียนของตัวเอง: emacs.stackexchange.com/a/14658/780 ฉันเดาว่าวิธีการนี้มีประโยชน์ในการอนุญาตให้คุณเลือกสีที่แตกต่างกันสำหรับหน้าต่างที่ไม่ได้ใช้งาน แต่ฉันอาจจะเปลี่ยนมาใช้โซลูชันที่ง่ายกว่านี้
ลูกัส
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.