1

在使用正则表达式 (1) 突出显示 emacs 缓冲区中的文本后,将设置写入文件 (2) 很容易,但我错过了持久性的第三步。

(1套

执行M-s h r( highlight-regexp) ,然后执行,\{.*\}然后italic将突出显示该样式中花括号之间的所有内容。

(2) 写

随后调用C-x w b( hi-lock-write-interactive-patterns) 将写入字符串

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

在缓冲区中,在询问注释字符串后(我使用了#)。

(3) 再利用

使这种突出显示持久化(即,使其能够从磁盘保存/加载文件)所需的第三步是什么?

4

3 回答 3

1

如果您使用 Ch 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.
于 2013-06-29T19:17:36.493 回答
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 "^%-@-(.+$"            (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)
于 2013-06-29T15:04:28.883 回答
0

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

C-x w i

从当前缓冲区中的注释中提取正则表达式/面部对(hi-lock-find-patterns)。

因此,您可以使用 highlight-regexp 交互输入模式,使用 hi-lock-write-interactive-patterns 将它们存储到文件中,编辑它们(可能包括匹配的不同括号部分的不同面),最后使用此命令 ( hi-lock-find-patterns) 让 Hi Lock 突出显示编辑的图案。

于 2014-07-13T15:56:36.533 回答