ฉันต้องการให้สีตัวเลขแตกต่างจากอักขระข้อความใน emacs สำหรับโหมดใด ๆ ที่ emacs อยู่ฉันจะแก้ไขไฟล์. emacs เพื่อจุดประสงค์นี้ได้อย่างไร ฉันต้องการเบอร์ของฉัน เพื่อแสดงเป็นสีชมพูเสมอ
Gvim ดูเหมือนจะมีคุณสมบัตินี้อยู่แล้ว
ฉันต้องการให้สีตัวเลขแตกต่างจากอักขระข้อความใน emacs สำหรับโหมดใด ๆ ที่ emacs อยู่ฉันจะแก้ไขไฟล์. emacs เพื่อจุดประสงค์นี้ได้อย่างไร ฉันต้องการเบอร์ของฉัน เพื่อแสดงเป็นสีชมพูเสมอ
Gvim ดูเหมือนจะมีคุณสมบัตินี้อยู่แล้ว
คำตอบ:
การใช้งาน - เปิดใช้งานหรือปิดใช้งาน ในท้องถิ่น ด้วย: M-x smilingbuddha-mode
การเปิดใช้งาน smilingbuddha-mode
ทั่วโลก ทั้งความคิดเห็น (global-smilingbuddha-mode)
และเริ่มต้นใหม่; หรือพิมพ์ M-x global-smilingbuddha-mode
(ซึ่งจะยังคงมีผลจนกว่าคุณจะรีสตาร์ท)
โปรดแก้ไข regexp เพื่อให้เหมาะกับความต้องการส่วนบุคคลของคุณ
(define-minor-mode smilingbuddha-mode
"Minor mode for highlighting numbers."
:group 'smilingbuddha
:lighter " :)"
(cond
(smilingbuddha-mode
(when (not (or font-lock-mode global-font-lock-mode))
(font-lock-mode 1))
(font-lock-add-keywords nil
(list (list "\\([0-9]+\\)" '(0 'smilingbuddha-pink-face t)) ))
(message "Turned ON `smilingbuddha-mode`."))
((not smilingbuddha-mode)
(font-lock-remove-keywords nil
(list (list "\\([0-9]+\\)" '(0 'smilingbuddha-pink-face t)) ))
(font-lock-fontify-buffer)
(message "Turned OFF `smilingbuddha-mode`."))))
(defgroup smilingbuddha nil
"Highlight numbers."
:version "0.1"
:group 'smilingbuddha)
(defface smilingbuddha-pink-face
'((t (:foreground "black" :background "pink")))
"Face for `smilingbuddha-pink-face`."
:group 'smilingbuddha)
(defun turn-on-smilingbuddha-mode ()
(interactive)
(smilingbuddha-mode 1))
(defun turn-off-smilingbuddha-mode ()
(interactive)
(smilingbuddha-mode -1))
(define-globalized-minor-mode global-smilingbuddha-mode
smilingbuddha-mode turn-on-smilingbuddha-mode)
;; (global-smilingbuddha-mode)
(add-hook 'text-mode-hook (lambda () (font-lock-add-keywords nil (list (list "\\([0-9]+\\)" '(0 font-lock-warning-face t)) ))))
นั่นควรจะทำให้คุณไปในทิศทางที่ถูกต้องเบ็ดเป็นของโหมดหลักtext-mode
. คุณสามารถปรับ regexp ได้ตามต้องการ