1

我是一个 emacs 新手,我一直在尝试为 cc-mode 设置我的缩进样式。我喜欢这样写代码:

if(true)
{
    foo();
    bar();
}

但默认的缩进样式更像:

if(true)
  {
    foo();
    bar();
  }

我想要的缩进样式似乎是“bsd”,而默认的是“gnu”。我将以下内容放在我的 init.el 文件中以更改设置:

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

这改变了偏移量和默认样式,但是当我输入一些代码时,它仍然像 gnu 样式一样格式化。为了澄清,我会输入,if(true) [ENTER] { [ENTER] foo(); [ENTER] }结果将是 gnu 样式代码。我也尝试将它放在我的 init.el 中,以获得相同的结果:

(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)

我可以说设置肯定发生了变化,因为在 minibuffer 中我评估了这个表达式(message "%s %s %d" c-default-style c-indentation-style c-basic-offset)以获得这个结果:"bsd bsd 4"

我正在使用石墨烯。它包含的软件包之一(可能是 smartparens 或自动完成)是否可能会干扰我的设置?

4

0 回答 0