gpt4 book ai didi

emacs - 无法更改 Emacs 在 HTML 标签之间的默认缩进

转载 作者:行者123 更新时间:2023-12-04 00:33:39 26 4
gpt4 key购买 nike

我对 Emacs 缩进范式感到困惑。

我的 .emacs 中有这个文件:

(setq-default tab-width 4)

如果我在以下情况下按 TAB
                    <ul>
(caret)
</ul>

结果是这样
                   <ul>
(caret)
</ul>

(在 HTML 标签之间有 2 个空格缩进。)

它应该像这样结束:
                   <ul>
(caret)
</ul>

我尝试了一切:
(setq-default tab-width 4)
(setq-default indent-tabs-mode t)
(setq tab-stop-list '(4 8 12 16))

我已经将所有可能的 Emacs 缩进设置设置为 4,但 2 个空格缩进仍然存在。

有什么建议么?

最佳答案

设置选项卡宽度不适用于这种情况,但我理解您的困惑; Emacs 提供了几个与选项卡相关的变量,为特定场景确定正确的变量可能会令人困惑。

This EmacsWiki article provides more details about setting the indentation level for HTML ;一般来说,EmacsWiki是 Emacs 技巧的绝佳资源。

在这种特定情况下,由于您使用的是 Emacs 的标准 HTML 模式( html-mode ,由 sgml-mode 定义),因此您要设置的变量是 sgml-basic-offset .该变量默认为 2,但您可以将其更改为 4,如下所示:

(setq sgml-basic-offset 4)

使此更改仅针对 html-mode ,您可以使用以下代码:
(add-hook 'html-mode-hook
(lambda ()
;; Default indentation is usually 2 spaces, changing to 4.
(set (make-local-variable 'sgml-basic-offset) 4)))

这一切都假设您使用的是 Emacs 22 或更高版本;如果不是这种情况,我链接到的 EmacsWiki 页面包含早期版本的 Emacs 的解决方法。

关于emacs - 无法更改 Emacs 在 HTML 标签之间的默认缩进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2076783/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com