hs-minor-mode
Emacsのマニュアルを読んでいると hs-minor-modeという
折り畳みのできる機能を知りました。
設定
minorモードとして設定します。c-mode, cperl-modeでは利用できました。
(add-hook 'cperl-mode-hook '(lambda () (hs-minor-mode 1))) ;; C coding style (add-hook 'c-mode-hook '(lambda () (hs-minor-mode 1)))
デフォルトのキーバインドがすごく押しづらいので(C-c @ C-h, C-c @ C-s等)
利用するのであれば変更するのがよいと思います。いくつかコマンドはありますが、
トグルだけ押しやすいようにしておけば、気軽に使えるでしょう。
(define-key hs-minor-mode-map (kbd "C-#") 'hs-toggle-hiding)