Emacs lisp 代码缩进

Emacs lisp code indentation

在 emacs-lisp 模式下,每当我插入右大括号时,我更喜欢缩进到与相应的左大括号相同的列。这怎么可能?如果我在 init.el

中有例如
(defadvice isearch-forward-regexp (before kill-ring-save-before-search activate)
  "Save region (if active) to kill-ring before starting isearch. So that region
can be inserted into isearch easily with C-y."
  (when (region-active-p)
    (kill-ring-save (region-beginning) (region-end))
    ) ;; this should be under (when
  ) ;; this should be under (defadvice

看来你想对​​齐右括号以便能够 在视觉上将它们与开头的匹配。你可以这样做 show-paren-mode 相反 - 它更擅长这项工作。

正如其他人所指出的,我完全同意,挂括号是 看起来非常烦人和痛苦 - 不要养成使用的习惯 他们。我编写了一个用于编辑 Elisp 的次要模式,它可能是 你感兴趣 - lispy-mode:

  1. i 将自动缩进一个 s 表达式,消除 挂括号。

  2. d将从s表达式的一侧切换到 另一个:快速查看当前列表包含的内容的方法。

  3. m将切换区域选择 当前列表:您可以更清楚地看到它包含的内容。