|
Meadowに付属 hideshow.el各種ソースをコメントや関数名を残しつつソース部分を隠すモード。 ;--------------------------------------
;; C モード等で関数の中括弧(関数等の中身)を 隠したり、表示したりする
;;
;; hs-hide-block C-c @ C-h
;; hs-show-block C-c @ C-s
;; hs-hide-all C-c @ C-M-h
;; hs-show-all C-c @ C-M-s
;; hs-hide-level C-c @ C-l
;; hs-toggle-hiding C-c @ C-c
;; hs-mouse-toggle-hiding [(shift mouse-2)]
;; hs-hide-initial-comment-block
;;
;;Cのソースを開いたら自動的にmodeをon
(add-hook 'c-mode-common-hook
'(lambda()
(hs-minor-mode 1)))
;; コメントは、隠さず表示する。
(setq hs-hide-comments-when-hiding-all nil)
;; Ruby編集時もソースを隠したり、表示したり・・・
(add-hook 'ruby-mode-hook
'(lambda()
(hs-minor-mode 1)))
(let ((ruby-mode-hs-info
'( ruby-mode
"class\\|module\\|def\\|if\\|unless\\|case\\|while\\|until\\|for\\|begin\\|do"
"end"
"#"
ruby-move-to-block
nil)))
(if (not (member ruby-mode-hs-info hs-special-modes-alist))
(setq hs-special-modes-alist
(cons ruby-mode-hs-info hs-special-modes-alist))))
;; Lisp mode もそれなりに隠してくれるので、有効にしてみた。
(add-hook 'lisp-interaction-mode-hook
'(lambda ()
(setq hs-minor-mode 1)))
(add-hook 'emacs-lisp-mode-hook
'(lambda ()
(setq hs-minor-mode 1)))
;; 隠した(hide)行は、isearchの対象にしない(outlineモードにも影響)
(setq search-invisible nil) ;; 「'open」or「t」
|