Emacs默认样式(制表符宽度,偏移量)被覆盖

时间:2013-07-04 19:52:39

标签: variables emacs fedora defaults

我在Fedora 19 64位上运行Emacs 24.2-18。我已在我的.emacs文件中设置C默认样式为“linux”,默认选项卡宽度为4,使用选项卡的缩进,默认C偏移为选项卡宽度,以及Perl偏移作为标签宽度。但每当我启动Emacs时,标签宽度和C偏移量为2.样式列为“linux”,但是当我将Emacs中的样式设置为“linux”时,它会更改标签宽度和C偏移量。所以初始默认样式没有正确加载,我不知道发生了什么。这是我的一些文件。 .emacshttp://paste.fedoraproject.org/23068/13729669/~/.emacs.d目录的内容是http://paste.fedoraproject.org/23070/67043137(smartparens和archive是目录),我通过Fedora软件管理器安装的与Emacs相关的软件是:

  • emacs.x86_64 1:24.2-18.fc19 @fedora
  • emacs-auto-complete.noarch 1.3.1-5.fc19 @fedora
  • emacs-auto-complete-el.noarch 1.3.1-5.fc19 @fedora
  • emacs-common.x86_64 1:24.2-18.fc19 @fedora
  • emacs-filesystem.noarch 1:24.2-19.fc18 @ updates / 18
  • emacs-vala.noarch 0.20.1-1.fc19 @fedora
  • emacs-vala-el.noarch 0.20.1-1.fc19 @fedora

需要注意的是emacs-filesystem.noarch是Fedora 18软件包,而不是Fedora 19软件包。是否有任何理由为什么我的标签宽度和C偏移被覆盖这样?我不知道发生了什么。

2 个答案:

答案 0 :(得分:1)

尝试根据“linux”定义自己的样式并覆盖偏移量:

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

(c-add-style "my-style"
             `("linux"
               (c-basic-offset . ,tab-width)))

(setq c-default-style "my-style")

答案 1 :(得分:1)

罪魁祸首是自动缩进模式,它在.emacs文件中使用。自动缩进模式将强制主模式的偏移,默认值为2,您没有自定义。因此,它在所有文件上强制偏移2。