.h 头文件缩进变成了8个空格

今天用emacs写头文件时,缩进变成了8个,但是.cpp 缩进没有问题。

doom emacs 最新。

ccls-git使用的archlinuxcn的二进制。

配置如下:

(setq-default indent-tabs-mode nil)
(setq default-tab-width 4)

(setq c-default-style "k&r")
(setq c-basic-offset 4)

(require 'company)
(require 'lsp-mode)
(require 'company-lsp)
(push 'company-lsp company-backends)
(setq lsp-message-project-root-warning t
      lsp-ui-doc-mode t
      lsp-ui-mode t
      lsp-ui-doc-include-signature t
      lsp-ui-sideline-show-symbol t
      lsp-auto-guess-root nil
      company-lsp-cache-candidates 'auto
      company-idle-delay 0
      company-minimum-prefix-length 1)

(setq ccls-executable "/usr/bin/ccls")
(use-package ccls
  :hook ((c-mode c++-mode objc-mode) .
         (lambda () (require 'ccls) (lsp))))

(define-key global-map (kbd "M-[") 'xref-find-definitions)
(define-key key-translation-map (kbd "M-]") (kbd "M-?"))

(add-hook 'python-mode-hook #'lsp)


我发现使用 .hpp 是4个空格,但是 .h 还是8个。


好象是doom emacs的原因,我clone了doom的配置,只进行 doom refresh 发现缩进就变成8个了,具体是什么导致的还不清楚。

应该是由于 .h 设置的 mode 的 c-mode ,其他两种都是c+±mode ,这个差异导致的。

不是,.h 也是 c++-mode

tab-widthbuffer-local 的。 是不是什么覆盖掉了啊? C-h v tab-width 看看

上面图片中的mini buffer 那里的绿字显示的是4。

正在上课。。暂时不能验证(逃

tab-widthc-basic-offsetevil-shift-width 都是8