Emacs - * - lang - *标签和旧式K& R C.

时间:2013-03-03 23:18:01

标签: c emacs

我正在开发一个使用许多编程语言的大项目,而且我完全没有使用过Emacs的经验。我在Google上搜索了有关-*- this -*-如何工作的信息,但没有找到任何内容。

例如,如果我有一个文件test.krc,意味着在旧式K& R C中,我应该如何在其上标记以便Emacs识别?

如果有人能解释-*- lang -*-标签的工作原理,我将不胜感激。

感谢。

2 个答案:

答案 0 :(得分:6)

请参阅Specifying File Variables

# -*- text -*-

只是

的简写
# -*- mode: text -*-

总结以下评论中的重要部分:
在这种情况下,第一行的以下注释将具有所需的效果:

/* -*- mode: c; c-file-style: "k&r"; -*- */

答案 1 :(得分:2)

另一种选择,如果相关文件确实有.krc扩展名:

(add-to-list 'auto-mode-alist '("\\.krc\\'" . c-mode))
(add-hook 'c-mode-hook 'my-c-mode-hook)
(defun my-c-mode-hook ()
  (when (and buffer-file-name
             (equal (file-name-extension buffer-file-name) "krc"))
    (c-set-style "k&r")))