在Emacs中使用其他模式时如何保持cpp模式缩进?

时间:2014-11-06 19:26:12

标签: emacs elisp

我为某种类型的文件使用自定义模式只是为了语法高亮。但是当我加载该模式时,c风格的缩进不起作用。我不想为这种模式编写缩进规则。

Here is the link for the mode I'm using

如何在此自定义模式下使用Emacs默认的c样式缩进? 感谢。

1 个答案:

答案 0 :(得分:0)

c-mode安装自己的解析器来计算缩进。因此,切换c-indentation并不像看起来那么简单(你不能简单地设置indent-line-functionindent-region-function)。

您可以尝试以下操作:

(add-hook 'ned-mode-hook (lambda ()
               (c-init-language-vars c-mode)
               (c-basic-common-init 'c-mode "user")))

我注意到ned-font-lock-keywords中的注释和字符串的正则表达式。据我所知,字体锁定,这是错误的。注释和字符串由Parse-Partial-Sexp解析器(请参阅syntax-ppss)处理,而不是通过正则表达式处理。 此外,ned-mode应该来自prog-mode,而不是来自text-mode