使emacs始终插入(和退格)4个空格标签?

时间:2010-12-18 08:47:23

标签: emacs tabs dot-emacs

我认为我的设置很好,但是现在偶尔会有emacs插入一个8个字符的标签,或者一个6或5个字符的标签....

可能这是由文档引起的(这发生在一个包含许多不同制表符间距的大文本文件中,但大多数是4个字符的空格增量或常规制表符)。

(setq-default indent-tabs-mode 0)
(setq-default tab-width 4)
(setq indent-line-function 'insert-tab)

以上是我的init.el中的代码,这让我想知道为什么它偶尔会失败并插入6个字符标签。

1 个答案:

答案 0 :(得分:1)

有问题的主要模式可能有自己的缩进规则,但如果我们谈论文本模式,那么indent-line-function确实应该被调用(eventually)。您可能需要仔细检查这不是缓冲区本地,其值与您认为设置的值不同,但我会说更可能的罪魁祸首是tab-stop-list变量。

你可以在这里阅读相关内容和其他相关内容:
http://www.emacswiki.org/emacs/CategoryIndentation

它隐藏在链接列表的底部附近,但在没有自动缩进规则的情况下理解制表符的行为至关重要。

如果您启用ruler-moderuler-mode-show-tab-stops变量,则可能会对事情有所了解。