c语言风格tab占用8个空格

emacs 28 spacemacs dev分支。我配置了c格式如下tab展4个空格,但是我打开其他人的代码,发现tab缩进仍然是8个空格。难道现在这个配置不管用了?那么在什么地方配置tab占用的空格数?

多谢。

;; 格式风格
(setq-default
indent-tabs-mode nil ; indent. 用 tab: t 用空格: nil
c-basic-offset 4 ; 缩进的基本单位,2字符,4字符等
tab-width 4 ; tab宽度
c-default-style “linux”) ; c 缩进风格. M-x c-set-style 选择当前文件的风格

有可能是别人的 .dir-locals.el 里面重新指定了 tab-width

这个机器是我自己的。没有其他的人配置。确实比较奇怪。我在另外一台机器上。同样的spacemacs配置,就是4个空格。

出问题的机器是刚安装的ubuntu 21.10。tab的宽度还有其他什么地方控制么?

他的意思是你打开的项目文件夹下可能有这个dir-locals.el,这个文件的内容也是可以修改 Emacs 的行为的。

看看文件开头是不是用了注释指定了 tab 大小。例如

// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-

这个也没有。

我把.emacs.d种的cache目录给删了。结果就好了。不过仍然比较奇怪,这个.emacs.d也是我自己备份copy到这个机器上的。有史以来都是我自己用,不知道什么哪儿影响到了tab宽度。

多谢各位。