如何更改 emacs 文本模式下的缩进

发布于 2024-09-28 10:02:24 字数 538 浏览 4 评论 0原文

我处于文本模式,希望我的 Tab 键将一行缩进两个空格。

该文件如下所示:

Line one

Line two

光标位于“L”之前:“第二行”,我按 TAB,它缩进 6 个空格,而不是所需的 2 个空格。

我尝试过的操作:

  1. 我尝试更新变量:tab-stop-list

    (setq tab-stop-list '(2 4 6 8 10 12 14 16))
    
  2. 我尝试添加text-mode-hook< /p>

    (add-hook 'text-mode-hook
      '( 拉姆达 ()
        (setq 制表符宽度 2)))
    

I'm in text mode and want my tab key to indent a line to two spaces.

The file looks like this:

Line one

Line two

The cursor is situated before the 'L' : "Line two", and I hit TAB and it gets indented 6 spaces as opposed to the desired 2 spaces.

Actions I've tried:

  1. I've tried updating the variable: tab-stop-list

    (setq tab-stop-list '(2 4 6 8 10 12 14 16))
    
  2. I've tried adding a text-mode-hook

    (add-hook 'text-mode-hook
      '(lambda ()
        (setq tab-width 2)))
    

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

夕色琉璃 2024-10-05 10:02:24

将其添加到您的 .emacs :

(add-hook 'text-mode-hook
          '(lambda ()
             (setq indent-tabs-mode nil)
             (setq tab-width 2)
             (setq indent-line-function (quote insert-tab))))

请参阅 Emacs 缩进教程

Add this to your .emacs :

(add-hook 'text-mode-hook
          '(lambda ()
             (setq indent-tabs-mode nil)
             (setq tab-width 2)
             (setq indent-line-function (quote insert-tab))))

See Emacs Indentation Tutorial.

筱果果 2024-10-05 10:02:24

文本模式下的默认值将缩进到其上方行中的第一个非空白字符。

来自文本模式下的键绑定文档

TAB(翻译自 )运行命令 indent-for-tab-command,
这是“indent.el”中的一个交互式编译的 Lisp 函数。

绑定到TAB。

(制表符命令缩进和可选 ARG)

以当前主要模式的适当方式缩进行或区域或插入制表符。
根据“tab-always-indent”,插入制表符或缩进。

在大多数主要模式中,如果点位于当前行的缩进中,
缩进后移至第一个非空白字符;
否则它会保留在文本中的相同位置......

幸运的是,这可以更改。将以下内容添加到您的文本模式挂钩应该可以满足您的需要:

(setq tab-width 2)
(setq indent-line-function (quote insert-tab))

The default for in text-mode will indent to the first non-whitespace character in the line above it.

From the key binding documentation in text mode

TAB (translated from ) runs the command indent-for-tab-command,
which is an interactive compiled Lisp function in `indent.el'.

It is bound to TAB.

(indent-for-tab-command &optional ARG)

Indent line or region in proper way for current major mode or insert a tab.
Depending on `tab-always-indent', either insert a tab or indent.

In most major modes, if point was in the current line's indentation,
it is moved to the first non-whitespace character after indenting;
otherwise it stays at the same position in the text....

Luckily, this can be changed. Adding the following to your text-mode-hook should do what you need:

(setq tab-width 2)
(setq indent-line-function (quote insert-tab))
瀞厅☆埖开 2024-10-05 10:02:24

尝试

(setq standard-indent 2)

在您的 .emacs 中进行设置

Try setting

(setq standard-indent 2)

In your .emacs

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文