我在emacs中編寫了Django/Python程序,我希望{%comment%} FOO {%endcomment%}這樣的東西變成橙色。如何在Emacs中對某些東西着色?
如何爲重要的Django模板標籤設置一些顏色?
我在emacs中編寫了Django/Python程序,我希望{%comment%} FOO {%endcomment%}這樣的東西變成橙色。如何在Emacs中對某些東西着色?
如何爲重要的Django模板標籤設置一些顏色?
您可以使用專用模式,如django-mode或MuMaMo。
如果你想要的東西非常基本的,假設你在html-mode
編輯,你可以嘗試以下方法:
(defun django-highlight-comments()
(interactive "p")
(highlight-regexp "{%.*?%}" 'hi-orange))
(add-hook 'html-mode-hook 'django-highlight-comments)
(只是上面的行添加到您的.emacs
或,和eval它或重啓emacs的)。
這就是我所做的。它比上面的代碼更通用一些,它使用內置的字體鎖定機制。
(defvar django-tag-face (make-face 'django-tag-face))
(defvar django-variable-face (make-face 'django-variable-face))
(set-face-background 'django-tag-face "Aquamarine")
(set-face-foreground 'django-tag-face "Black")
(set-face-background 'django-variable-face "Plum")
(set-face-foreground 'django-variable-face "Black")
(font-lock-add-keywords
'html-mode
'(("\\({%[^%]*%}\\)" 1 django-tag-face prepend)
("\\({{[^}]*}}\\)" 1 django-variable-face prepend)))
這正是我想要的,謝謝! – 2009-05-17 22:29:40
儘管如此,如果在編輯時添加新標籤,您需要重新評估該功能(M-x django-highlight-comments)以突出顯示新標籤。添加字體鎖定關鍵字到html模式似乎是一個更好的選擇。 – polyglot 2009-05-17 23:18:02