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

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

我为此做了一个函数highlight-indentation , 代码在github上 。

当调用不带前缀参数的highlight-indentation ,当前缩进级别从主模式(基于cc模式的python,ruby和语言)天真地被猜测出来。 只适用于空间缩进。 自定义highlight-indent-face以更改缩进线的外观。

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

我也经常使用这个代码片段折叠大于当前行的缩进级别上的所有代码。 快速浏览提纲是一个很好的方法。

 (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 [(MC i)] 'aj-toggle-fold) 

据我所知,迄今为止还没有人为Emacs实现缩进指南。 您可以得到的最接近的是使用空白包对TAB进行可视化,请参阅使用不同字符显示选项卡(Emacs) 。

假设你可以弯曲ColumnMarker到你的需要,但它会突出显示一列不给你一个像素。

我缩进了8个空格,所以我从来没有想过; P