1

对于 Emacs CC 模式,我尝试使用“bsd”样式,但要使所有行默认缩进 4 而不是 8。在我的.emacs文件中,我放了:

(setq c-default-style "bsd"
      c-basic-offset 4)
(setq c-indent-level 4)

但所有行仍缩进 8 个空格。我真的找不到问题出在哪里。我正在运行 GNU Emacs 23.3.1。

4

2 回答 2

9

CC 模式设置是缓冲区本地的,这可能会导致问题。配置它的最佳方法是将您的自定义设置在一个钩子中。这将确保无论 cc-mode 是否已将c-basic-offset缓冲区设为本地,在启动模式时都会应用更改。我使用类似的东西:

(defun my-c-mode-hook ()
  (setq c-basic-offset 4
        c-indent-level 4
        c-default-style "bsd"))
(add-hook 'c-mode-common-hook 'my-c-mode-hook)
于 2011-09-13T18:08:13.110 回答
1

看起来是对的。您是否在 .emacs 文件中执行了这些行?走到他们的尽头,做C-x C-e。如果这不起作用,请关闭 emacs 并重新启动它(这会强制它重新读取您的 .emacs 文件)。如果这不起作用,请转到您的暂存缓冲区或类似的东西,并执行(message "%s %d %d" c-default-style c-basic-offset c-indent-level)以查看 emacs 认为这些值是什么(也许您正在包含另一个覆盖这些值的文件?)然后加载您的一个 CC 文件并检查模式确保您处于 C 型模式。

于 2011-09-13T15:46:24.473 回答