【发布时间】:2010-09-09 08:31:11
【问题描述】:
当在主模式text-mode 的缓冲区中按 TAB 时,我无法让 Emacs 从 8 个空格制表符切换到 4 个空格制表符。我已将以下内容添加到我的.emacs:
(setq-default indent-tabs-mode nil)
(setq-default tab-width 4)
;;; And I have tried
(setq indent-tabs-mode nil)
(setq tab-width 4)
无论我如何更改我的.emacs 文件(或我的缓冲区的局部变量),TAB 按钮总是做同样的事情。
- 如果上面没有文字,缩进8个空格
- 如果上一行有文字,则缩进到第二个单词的开头
尽管我很喜欢 Emacs,但它越来越烦人。当上一行没有文本时,有没有办法让 Emacs 至少缩进 4 个空格?
【问题讨论】:
-
对于模式行 C++ 或 csharp-mode 我添加 (setq tab-width 4) (setq c-basic-offset 4) 到 (defun csharp-mode () ... )它使 (1) 选项卡显示为 4 个而不是 8 个字符,并且 (2) 当我按下制表符时,我在新行上得到 4 个空格。
-
很晚了,但我才意识到使用 (setq tab-width 4) 不起作用,但如果你使用 (setq-default tab-width 4) 你不需要做任何其他事情.
-
如果您想使用空格但转到制表位,请查看我的答案。
-
发现此问题的其他人请注意:
(setq-default tab-width 4)与(setq tab-width 4)不同,请确保您没有错过“-default”! -
我不敢相信这很难做到。
标签: emacs indentation