我是一个 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 或自动完成)是否可能会干扰我的设置?