如何在Emacs中显示缩进指南?

时间:2009-10-19 10:37:51

标签: emacs indentation

我正在尝试切换到Emacs作为我的主要源代码编辑器。我真的很想念一件事(在更简单的编辑器中很常见) - 缩进指南(显示缩进级别的不显眼的垂直线)。 Emacs能够显示它们吗?

4 个答案:

答案 0 :(得分:77)

我为此目的制作了一个highlight-indentation函数code is on github

在没有前缀参数的情况下调用highlight-indentation时,当前的缩进级别是从主要模式(python,ruby和基于cc模式的语言)中天真猜测的。仅适用于空间缩进。自定义highlight-indent-face以更改缩进行的外观。

示例(ruby,python): Ruby, Python example

我还经常使用此代码段来折叠大于当前行的缩进级别的所有代码。这是快速概述大纲的好方法。

(defun aj-toggle-fold ()
  "Toggle fold all lines larger than indentation on current line"
  (interactive)
  (let ((col 1))
    (save-excursion
      (back-to-indentation)
      (setq col (+ 1 (current-column)))
      (set-selective-display
       (if selective-display nil (or col 1))))))
(global-set-key [(M C i)] 'aj-toggle-fold)

答案 1 :(得分:5)

据我所知,目前还没有人为Emacs实施缩进指南。您可以获得的最接近的是使用空白包来显示TAB,请参阅Show tabs with a different character (Emacs)

答案 2 :(得分:0)

假设您可以根据需要弯曲ColumnMarker,但会突出显示一列 没有给你一个像素。

我用8个空格缩进,所以我从未想过它; P

答案 3 :(得分:0)

现在有一个名为highlight-indent-guides的模式,它似乎工作得很好。