在与所有表单相同的缩进级别设置注释

vem*_*emv 11 emacs elisp indentation

默认情况下,注释会获得缩进级别,这对我来说似乎很陌生.

(defun example ()
  just
  some
                ; a comment
  words)
Run Code Online (Sandbox Code Playgroud)

如何调整它以使第一个分号与常规Lisp形式垂直对齐?

(defun example ()
  just
  some
  ; a comment
  words)
Run Code Online (Sandbox Code Playgroud)

我能找到的是默认机制通过将注释与固定列(可查询的通道M-x comment-set-column)对齐来工作,并且可以修改comment-indent-function变量(将其设置为nil部分修复我的问题).

Lin*_*cer 11

Emacs根据使用的分号数不同地缩进elisp中的注释.如果你使用两个,你应该得到你想要的缩进:

(defun test-single ()
                                        ; A single semicolon
  nil)

(defun test-double ()
  ;; Do two semicolons make a colon ;)
  nil)
Run Code Online (Sandbox Code Playgroud)

此外,三个分号;;;根本不会重新缩进.通常,它们用于标记源文件中的新主要部分.

  • 我不认为你会这样做.它会使你的代码缩进与所有其他elisp代码不同......无论如何,这被硬编码为`lisp-indent-line`,所以你必须修改它(也许使用`defadvice`). (2认同)