まったりいんふぉまてぃくすめもらんだむ

主にプログラミング関係のメモに使うかもしれないしそうでないかもしれない

EmacsでPythonのインデントブロックを可視化する

vimにインデントを可視化するvim-indent-guidesというのがあるということを知って、うちのEmacsにも欲しいなぁと思って探してみたら、githubに作ってくれている方がいたので導入してみた。

antonj/Highlight-Indentation-for-Emacs · GitHub

Emacs Lispは全く分からないけどソース眺める限りpython-mode,ruby-mode,あとnxml-mode(XML用?)限定っぽい?

gitでダウンロードしてみる。

$ git clone http://github.com/antonj/Highlight-Indentation-for-Emacs
Cloning into Highlight-Indentation-for-Emacs...
remote: Counting objects: 27, done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 27 (delta 11), reused 4 (delta 2)
Unpacking objects: 100% (27/27), done.

で、Emacsのライブラリにhighlight-indentation.elを移して、init.elに

(require 'highlight-indentation)

と書く。レポジトリはもう使わないので消す(この使い方あんま賢くない気がするけど……)。あとはEmacsPythonのコード開いて、M-x highlight-indentationで動いてくれるはず。デフォルトで有効にするのがいまいちうまくいかなかったんだけど、常時表示だとそれはそれでうっとうしい気もするのでまぁいいや。

で、ここからまたちょっと苦労したんだけど、表示されたはいいもののハイライトの色が僕の使ってる背景色といまいちマッチしなかったので変更したいなと思った。readmeとかコメント読んだだけじゃどういじっていいかわからなかったので全くの門外漢であるEmacs Lispのことを頑張って色々調べたら、

http://www.gnu.org/software/emacs/elisp/html_node/Defining-Faces.html

を参考にしてなんとか設定できた(このページもほとんど意味わからなかったけど)。

highlight-indentation.elの

  '((t :inherit fringe))

を、

  '((t :background "midnight blue"))

って感じに変えてやればよかった。("midnight blue"の部分に好きな色を入れる)

こんな風になります。