45

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

4

4 回答 4

87

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

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

示例(红宝石,python): 红宝石,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 [(M C i)] 'aj-toggle-fold)
于 2010-12-16T09:25:28.587 回答
12

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

于 2019-05-15T08:09:57.913 回答
5

据我所知,到目前为止,没有人为 Emacs 实现缩进指南。您可以获得的最接近的东西是使用 whitespace 包的 TAB 可视化,请参阅Show tabs with a different character (Emacs)

于 2009-10-19T11:54:18.463 回答
1

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

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

于 2009-10-20T08:41:20.847 回答