如何禁用Emacs自动移动命令到右边?

Jus*_*ner 2 emacs formatting comments

我在Windows 7上使用最新版本的Emacs.假设我在我的输入中输入以下代码.emacs:

;test|
Run Code Online (Sandbox Code Playgroud)

|表示光标位置.现在,如果我按下Enter,文本将移动到右侧,它将如下所示:

                                                      ;test
Run Code Online (Sandbox Code Playgroud)

如何禁用此功能?

Chr*_*ris 6

这是根据Emacs Lisp样式指南完成的:

以单个分号开头的注释' ;'应该全部与源代码右侧的同一列对齐.这些评论通常解释了该行代码如何完成其​​工作.例如:

(setq base-version-list                 ; There was a base
      (assoc (substring fn 0 start-vn)  ; version to which
             file-version-assoc-list))  ; this looks like
                                        ; a subversion.
Run Code Online (Sandbox Code Playgroud)

如果您使用两个或更多分号,您将看到其他行为:

以两个分号开头的注释' ;;'应与代码的缩进级别对齐.这些评论通常描述以下行的目的或当时程序的状态.

...

以三个分号开头的注释' ;;;'应从左边距开始.我们使用它们作为评论,应该被大纲小调模式视为"标题".

...

以四个分号开头的注释' ;;;;'应与左边距对齐,并用于程序主要部分的标题.

自动缩进由electric-indent-mode.完成.如果你想完全禁用它,请添加类似的东西

(electric-indent-mode -1)
Run Code Online (Sandbox Code Playgroud)

在你的init文件中.您还可以使用类似的方式禁用特定模式

(electric-indent-local-mode -1)
Run Code Online (Sandbox Code Playgroud)

在适当的init钩子中.

简单地使用样式指南建议的两个分号也应该可以防止这种行为,这将使您从electric-indent-mode其他代码中受益.