小编典典

在 Emacs 中以文本模式设置 4 空格缩进

all

TAB在使用 main mode 按下缓冲区时,我无法让 Emacs 从 8 个空格制表符切换到 4 个空格制表符text- mode。我已将以下内容添加到我的.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按钮总是做同样的事情。

  1. 如果上面没有文字,缩进 8 个空格
  2. 如果上一行有文字,则缩进到第二个单词的开头

尽管我很喜欢 Emacs,但它变得越来越烦人。当上一行没有文本时,有没有办法让 Emacs 至少缩进 4 个空格?


阅读 78

收藏
2022-08-21

共1个答案

小编典典

不要将变量tab-width与变量混淆tab-stop- list。前者用于文字TAB字符的显示。后者控制TAB在某些模式下按下字符时插入的字符。

-- GNU Emacs
手册

(customize-variable (quote tab-stop-list))

或将 制表符列表 条目添加到 .emacs 文件中 的自定义设置变量: __

(custom-set-variables
  ;; custom-set-variables was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(tab-stop-list (quote (4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 92 96 100 104 108 112 116 120))))

编辑选项卡行为的另一种方法是使用 with M-x edit-tab-stops

有关. _ _edit-tab-stops

2022-08-21