对于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。
答案 0 :(得分:9)
CC模式设置是缓冲区本地的,可能会导致问题。配置它的最佳方法是将自定义项放在钩子中。这将确保无论cc模式是否使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)
答案 1 :(得分:1)
看起来不错。您是否在.emacs文件中执行了这些行?转到它们的末尾并执行C-x C-e
。如果这不起作用,请关闭emacs并重新启动它(这会强制它重新读取.emacs文件)。如果这不起作用,请转到暂存缓冲区或类似的东西,然后执行(message "%s %d %d" c-default-style c-basic-offset c-indent-level)
以查看emacs认为这些值是什么(可能您要包含另一个覆盖这些值的文件?)然后加载一个CC文件并检查模式以确保您处于C型模式。