วิธีการกำหนดใบหน้าไฮไลต์ที่ดี


9

ฉันต้องการใช้global-hl-line-modeแต่ธีมของฉันบางหน้าไม่มีใบหน้าที่เน้นสีที่ดี มีวิธีทั่วไปในการกำหนดอย่างใดอย่างหนึ่ง (ที่ไม่ใช่สีผกผัน)? ฉันต้องการคงการเน้นไวยากรณ์ไว้ซึ่งทำให้ฉันขาดความพยายาม


คุณหมายความว่าอย่างไรโดย "วิธีการกำหนด" คุณกำลังถามเกี่ยวกับข้อเสนอแนะสำหรับการปรากฏตัว? เกี่ยวกับวิธีกำหนดใบหน้าที่ให้รูปลักษณ์ที่กำหนด? เกี่ยวกับวิธีสร้างนิยามใบหน้าแทนที่ผลกระทบของนิยามใบหน้าของธีม คุณลองปรับแต่งใบหน้าที่ใช้ด้วยglobal-hl-line-mode? โดยสรุปโปรดระบุคำถามให้ชัดเจนยิ่งขึ้น - มันจะช่วยให้ผู้คนช่วยเหลือคุณ
Drew

คำตอบ:


17

นี่เป็นเรื่องของความเห็นจริง ๆ แต่ฉันพบเสมอว่าการทำให้hl-lineพื้นหลังมีสีเข้มขึ้นเล็กน้อยกว่าค่าเริ่มต้นจะดีที่สุด

ฉันต้องการคงการเน้นไวยากรณ์ไว้ซึ่งความพยายามของฉันแตก

หากคุณต้องการเน้นการเน้นไวยากรณ์ตรวจสอบให้แน่ใจว่าคุณลักษณะhl-lineของใบหน้า:foregroundนั้นเป็นศูนย์จากนั้นตั้งค่า:backgroundแอตทริบิวต์เป็นสิ่งที่คุณต้องการ

นี่คือสิ่งที่ดูเหมือนกับฉันสำหรับการตั้งค่าเหล่านี้:

(set-face-attribute 'default nil :background "gray15")
(set-face-attribute 'hl-line nil :foreground nil :background "gray5")

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

ด้วยเสียงของมันคุณไม่ต้องการให้รหัสสีแข็งเพราะคุณจะเปลี่ยนธีม คุณสามารถมี emacs โดยอัตโนมัติตั้ง:backgroundของhl-lineใบหน้าที่จะสีเข้มกว่าเริ่มต้นปัจจุบันเล็กน้อย:backgroundเช่นนี้

(require 'color)

(defun set-hl-line-color-based-on-theme ()
  "Sets the hl-line face to have no foregorund and a background
    that is 10% darker than the default face's background."
  (set-face-attribute 'hl-line nil
                      :foreground nil
                      :background (color-darken-name (face-background 'default) 10)))

(add-hook 'global-hl-line-mode-hook 'set-hl-line-color-based-on-theme)

วิธีนี้จะทำให้พื้นหลังของใบหน้าเป็นสีเข้มขึ้น 10% จากพื้นหลังเริ่มต้นเมื่อคุณเปิดใช้งาน global-hl-line-mode

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