2013-06-29 106 views
0

使用regexp(1)突出顯示emacs緩衝區中的文本後,很容易在文件(2)中寫入設置,但我缺少持久性的第三步。emacs文本緩衝區中的持久顏色

(1)設置

M-s h rhighlight-regexp),並說,\{.*\}其次italic將突出這種風格大括號之間的一切。

(2)寫

隨後調用C-x w bhi-lock-write-interactive-patterns)寫出字符串

# Hi-lock: (("\\{.*\\}" (0 (quote italic) t))) 

在緩衝區中,要求註釋字符串後(我用#)。

(3)再利用

是什麼力量讓這個高亮持久的,即,使其生存保存/加載從磁盤上的文件需要第三步?

回答

0

如果您使用C-h f hi-lock-write-interactive-pattern,則會在幫助緩衝區中看到hi-lock.el的鏈接。通常Lisp庫在文件的開始處有一些使用信息,並且它很方便檢查。

在這種情況下,它會告訴如何讓它持續性:從當前緩衝區的意見

;; To enable the use of patterns found in files (presumably placed 
;; there by hi-lock) include the following in your init file: 
;; 
;; (setq hi-lock-file-patterns-policy 'ask) 
;; 
;; If you get tired of being asked each time a file is loaded replace 
;; `ask' with a function that returns t if patterns should be read. 
+0

感謝您的提示。我已經有(setq hi-lock-file-patterns-policy t)在我的.emacs中,但只有(setq hi-lock-file-patterns-policy'ask)觸發器詢問。爲什麼簡單地寫t不會觸發突出顯示而不詢問? – Calaf

+0

顯然只是寫「t」已經壞了(在Emacs 24中也是如此)。我們需要寫(setq hi-lock-file-patterns-policy(lambda(pattern)t))。參考:http://lists.gnu.org/archive/html/bug-gnu-emacs/2010-01/msg00226。html – Calaf

0

如何創建一個與您要加載的文件相關的鉤子函數的可能性 - 例如,文本模式鉤子或可能是特定的文件鉤子(如果類似的東西存在)?

;; M-x ae-hi-lock-features 

(global-hi-lock-mode 1) 

(defface af-bold-yellow-box '((t (:background "black" 
            :foreground "yellow" 
            :underline "red" 
            :height 200 
            :bold t 
           ))) "yellow-box-face") 

(defun z-hi-lock-quizzes() 
    ;; this next line is necessary to correct sloppy hi-locking 
    (if (not hi-lock-mode) 
     (progn (hi-lock-mode -1) 
      (hi-lock-mode 1)) 
    (hi-lock-mode) 
    (hi-lock-mode)) 
    (highlight-regexp "^%-\\*-mode:LaTeX.*$" (quote hi-conceal-content)); 
    (highlight-regexp "^%[email protected](.+$"   (quote hi-lock-page-break)); 
    (highlight-regexp "food"   (quote af-bold-yellow-box)); 
) 

(defun ae-hi-lock-features() 
    (interactive) 
    (z-hi-lock-quizzes) 
;; ... call other functions ... 
) 

(add-hook 'text-mode-hook 'ae-hi-lock-features) 
+1

hi-lock-write-interactive-patterns存在似乎是一個強烈的暗示,我在我的文本文件中只是丟失了一行或兩行。 – Calaf

0

https://www.gnu.org/software/emacs/manual/html_node/emacs/Highlight-Interactively.html

C-x w i

提取的正則表達式/面部對(HI-鎖找到-patterns)。

因此,你可以使用高亮,正則表達式輸入模式交互 ,並將其存儲到文件, HI-鎖定寫交互式模式,對其進行編輯(可能包括的不同括號內的部分 不同的面孔匹配)和 終於使用此命令(hi-lock-find-patterns)讓Hi Lock 突出顯示編輯後的模式。

+0

M-x hi-lock-write-interactive-patterns是所需的功能,而(來自emacs info)「C-x w i運行hi-lock-find-patterns命令。」 – Calaf