代码之家  ›  专栏  ›  技术社区  ›  phimuemue

Emacs:在comment中定义宏并自动执行它

  •  3
  • phimuemue  · 技术社区  · 14 年前

    我正在使用Emacs/AucTeX来编辑LaTeX文件。在我的一些LaTeX文件中,我定义了一些“特定于文件”的命令(例如。 \todo{...} 在一个文件中, \compute{...} 在另一种情况下,等等),这样我就可以跟踪我的文档中有哪些未解决的问题。

    Emacs命令 highlight-regexp \待办事项{…} s代表。 s。但到目前为止,每次打开相应的文件时,我都必须手动执行highlightning。

    有没有办法告诉Emacs/AucTeX在打开特定文件时调用特定命令?我想定义这些命令 相应的文件,所以我可以很容易地调整它为不同的文件(可能包括在局部变量)。

    %%% Local Variables: 
    %%% mode: latex
    %%% TeX-master: "master"
    %%%
    %%% here I would like to have something like:
    %%% execute highlight-regexp for specific arguments
    %%%
    %%% End: 
    
    3 回复  |  直到 14 年前
        1
  •  5
  •   huaiyuan    14 年前

    试试这个,

    %%% Local Variables: 
    %%% eval: (font-lock-add-keywords nil '(("\\\\todo" (0 font-lock-warning-face))))
    %%% End: 
    

    Section 57.3.4.1, Specifying File Variables ,了解更多详细信息。

        2
  •  2
  •   sjagr    14 年前

    dohighlight

    (defun condhighl ()
     (when (boundp 'dohighlight)
     (highlight-regexp "regexp")))
    

    然后添加该函数作为AucTex的钩子

    (add-hook 'tex-mode-hook 'condhighl)
    

    然后可以将本地变量中的dohighlight变量添加到要高亮显示代码的缓冲区中。

        3
  •  2
  •   slowdog    14 年前

    highlight-regexp 要设置突出显示, hi-lock-write-interactive-patterns (M-s h w)将把模式作为一个神奇的注释写入缓冲区。

    mode: hi-lock 之后 mode: latex 行,以便在打开文件时立即激活高亮显示。