【问题标题】:Making emacs always insert (and backspace) 4 space tabs?让emacs总是插入(和退格)4个空格制表符?
【发布时间】:2011-05-27 12:22:49
【问题描述】:

我以为我已经设置好了,但是现在 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 个字符的制表符。

【问题讨论】:

  • 你可以使用customize-group indent
  • nil代替0有什么作用吗?
  • 可能有一个特定于模式的设置覆盖全局默认值,或者一个directory-specific setting,或者一个file-specific setting。缓冲区处于什么模式?当前目录或其父目录中是否有 .dir-locals.el 文件?文件中有Local Variables 部分吗?
  • 我刚刚尝试删除 emacs-starter-kit,并且只有我的 init.el,原始问题中只列出了这 3 行,但仍然没有运气。有什么建议?我认为文件必须覆盖它?当我编辑我的 init.el 文件时,tab 甚至什么都不做。

标签: emacs tabs dot-emacs


【解决方案1】:

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

您可以在此处阅读有关该内容和其他相关内容的信息:
http://www.emacswiki.org/emacs/CategoryIndentation

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

如果您启用ruler-moderuler-mode-show-tab-stops 变量,它可能会有所帮助。

【讨论】:

    猜你喜欢
    • 2011-07-06
    • 2019-01-29
    • 1970-01-01
    • 2017-02-07
    • 1970-01-01
    • 2014-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多