无论主要模式如何强制空格而不是标签?

Dav*_*vid 8 emacs

我希望所有标签都是4个空格.我有以下内容.emacs

(setq-default indent-tabs-mode nil)
(setq c-basic-indent 4)
(setq tab-width 4)
Run Code Online (Sandbox Code Playgroud)

但是这可以被我可以使用的一些主要模式主题覆盖.有没有办法通过我的.emacs文件强制这个问题?

Tho*_*mas 6

尝试这个覆盖任何主要模式覆盖的任何内容:

(add-hook 'after-change-major-mode-hook 
          '(lambda () 
             (setq-default indent-tabs-mode nil)
             (setq c-basic-indent 4)
             (setq tab-width 4)))
Run Code Online (Sandbox Code Playgroud)

请注意,不基于的主要模式c-mode不太可能关心c-basic-indent并且可能使用他们自己的特定于模式的缩进变量.在这种情况下,无法手动配置这些变量.