set-selective-displayでsubの中身を省略表示

\C-x $ :set-selective-display・・・指定した桁数以上字下げしている行を隠す関数とのこと

http://www.bookshelf.jp/texi/emacs-20.6-man-jp/emacs_12.html#SEC80


と言われてもよく分からんので画像.

こういうのが、M-4 C-x $ で (4字下げの行を隠して表示)

以下のように折り畳まれて表示される

(4字下げの行を隠して表示)

この場合は4字下げされた部分が省略表示になるので、Perlだとちょうどsubの中身が省略される感じになる。折りたたみ表示中でもバッファは普通に編集可能です。

使いどころがよく分かんないけど、モジュールの骨格をざーっと見てみたいとか、インターフェースどうっすかな〜っとか、関数名だけイジりたいよ〜とか、そういう時に使うと中身が一時的に見えないのは目に優しいかも。カーソル移動もちょっと速くなるかな。(M-x occurでもいいんだけどね)


でも \C-x $ って激しく押しにくいので

(defun set-selective-display-toggle ()
  (interactive)
  (if selective-display (progn (set-selective-display nil)
                               (recenter))
                        (progn (set-selective-display 4)
                               (recenter))))
(global-set-key  "\C-cd" 'set-selective-display-toggle)

切り替えするのを作って割り当てた。数値を変えていただければお好みの数の字下げに対応.グローバル設定が気持ち悪だけど。


ただ ときおりバッファ移動の挙動がおかしくなるのがすごい気になる。まいつた。