web-dev-qa-db-ja.com

Emacsでインデントガイドを表示するにはどうすればよいですか?

プライマリソースコードエディタとしてEmacsに切り替えようとしています。私は本当に1つのことを見逃しています(はるかに単純なエディターで一般的です)-インデントガイド(インデントレベルを示す目立たない垂直線)。 Emacsはそれらを表示できますか?

41
Thotep

この目的のために関数highlight-indentationを作成しました コードは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)
78
antonj

私の知る限り、これまでEmacsのインデントガイドを実装した人は誰もいません。取得できる最も近いものは、空白パッケージを使用したTABの視覚化です。 異なる文字でタブを表示する(Emacs) を参照してください。

5
danielpoe

highlight-indent-guides というモードがあります。これは非常にうまく機能しているようです。

3
Marco Craveiro

ColumnMarker を必要に応じて曲げることができますが、1つのピクセルを提供しない列が強調表示されるとします。

私は8つのスペースでインデントしているので、考えたことはありません; P

0
Fredrik