【问题标题】:Removing tab inconsistencies in Emacs删除 Emacs 中的选项卡不一致
【发布时间】:2010-10-17 23:30:41
【问题描述】:

要在 emacs 中设置选项卡,我的 .emacs 中有这一行:

(global-set-key (kbd "TAB") 'tab-to-tab-stop)

我正在寻找某种方法让所有模式在 emacs 中将制表符显示为 4 个空格,并让 emacs 将制表符保存为制表符(而不是将它们保存为空格)。

如果我使用 c 模式,那么 .emacs 行将使制表符看起来像 8 个空格并将它们保存为制表符。但是在 ada-mode 中输入会自动缩进(我可以接受),它会在 emacs 中显示为 4 个空格并保存为 4 个空格。

有谁知道如何通用设置选项卡以在按下 tab 键时插入一个选项卡(并且没有空格)并让它在 emacs 上显示为四个空格?

我也试过了:

(setq tab-width 4)

但我仍然遇到与 ada-mode 相同的问题。

【问题讨论】:

  • 请不要在文件中保存制表符;它只会导致痛苦和痛苦。

标签: emacs


【解决方案1】:

由于存在特定于模式的缩进变量,因此您不能真正为所有模式都这样做,但您可以为您关心的所有语言设置它。对于 C,您的 .emacs 中类似于以下内容的内容应该适用于您所描述的内容:

(添加钩子'c-mode-common-hook' (拉姆达() (setq c-basic-offset 4) (setq tab-width 4) (setq 标准缩进 4) (setq c-tab-always-indent t) ) )

这将在 4 个字符处设置制表位,并使 4 成为所有 C 样式模式的默认缩进级别。对于其他语言及其各自的模式,您必须查找它们的缩进变量并在该模式的通用挂钩中相应地设置它们。一些示例包括 'sh-indentation、'tcl-indent-level 和 'perl-indent-level。找出需要设置的最简单的方法是运行:

M-x 描述键 [TAB]

这应该会让你掉进兔子洞。

干杯!
肖恩

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多