- fold-this 20150601.342(in MELPA)
- Just fold this region please
概要
Emacsでは org-mode や outline-mode などで見られるように
特定の範囲を隠したりできます。
これらは隠す範囲を予め計算しているのですが、
この fold-this.el はregionを隠すものです。
余計な部分を一時的に隠すことで要点が明確になり、
コードを理解する助けになります。
元々
M-x fold-this でregionを隠し、
M-x fold-this-all でregionの文字列すべてを隠すようになっていますが、
本設定では M-x fold-this--this-or-all を定義して
これらをひとまとめにしています。
view-mode のfに割り当てていて、以下の挙動にしています。
- regionが有効のときはそのregionを隠す
- regionが設定されてないときは現在のS式を隠す
- C-u fでバッファ内の同一region/S式をすべて隠す
隠された部分は「..」と表示され、
その部分でRETかC-gを押せば元に戻ります。
Fig1: このバッファをview-modeにして
Fig2: fを押すとそのS式が隠れる
Fig3: regionを指定し
Fig4: C-u fで該当部分が全部隠れる
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。
(package-initialize) (setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") ("melpa" . "http://melpa.org/packages/") ("org" . "http://orgmode.org/elpa/")))
初めてfold-thisを使う方は
以下のコマンドを実行します。
M-x package-install fold-this
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name fold-this
設定 50fold-this.el(以下のコードと同一)
;;; この設定を入れるとEmacsを終了してもfoldが持続する ;; (setq fold-this-persistent-folds t) (defun fold-this--this-or-all (all) (interactive "P") (let ((x (bounds-of-thing-at-point 'sexp)) (rap (region-active-p))) (funcall (if all 'fold-this-all 'fold-this) (if rap (region-beginning) (car x)) (if rap (region-end) (cdr x)))) (message (substitute-command-keys "To unfold all, try \\[fold-this-unfold-all]"))) (with-eval-after-load "view" (define-key view-mode-map (kbd "f") 'fold-this--this-or-all))
実行方法
$ wget http://rubikitch.com/f/50fold-this.el $ emacs -Q -f package-initialize -l 50fold-this.el
本サイト内の関連パッケージ
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。