便利なものとか、しょーもないものとか...。
これは便利。非常に便利。一度使うとやめられなくなります。 Emacs に標準で含まれている、アウトライン編集のための minor-mode です。 TeX や HTML の編集で威力を発揮します。
私は TeX の source なんかが大きい file になるのが嫌いなので、
いままでは細かく切って \input{}
していました。
でも outline-minor-mode を使えば、おおざっぱに分割しても
快適です。頑張れば 1つ の file にしてもやっていけます。
(それは さすがに したくないけど...)
先ず、outline-minor-mode で使う prefix を設定しましょう。 空いてる key を探すのが面倒ですが、 default の ``\C-c@'' だと使いにくいです。 私は ``M- '' にしてます。
(setq outline-minor-mode-prefix "\M- ")
あと、SKK が on の場合でも outline-minor-mode-prefix
を
うけつけるようにしておきます。
(add-hook 'skk-load-hook ;; for outline-minor-mode (function (lambda () (define-key skk-j-mode-map outline-minor-mode-prefix outline-minor-mode-map))))
例えば html-helper-mode で使うときは、以下のような感じで設定します。 TeX などで使う場合も同様です。
(add-hook 'html-helper-mode-hook '(lambda () (outline-minor-mode t) (make-local-variable 'outline-regexp) (setq outline-regexp "<!D\\|<TI\\|<[Hh][1-6]")))
local 変数 outline-regexp で、outline 表示の際に残す行を 設定します。詳しくは info を参照してください。 major-mode によっては、勝手に設定してくれているものもあります。 上の例では、<!DOCTYPE...>, <TITLE>, <H1>〜<H6> を outline の heading として意図してます。
こうすれば、例えば このファイル は 普通なら だらだらと長く表示される (GIF:32KB) ところが、枝葉を隠した状態で (GIF:22KB) 編集することができます。 ``...'' で表示されているのは、隠されているところです。 全文書が一画面に収まっているでしょ。
key-bind は、最初は prefix + {\C-a, \C-s, \C-q, \C-l} の 4つ さえ覚えれば十分使えると思います。ぜひ お試しあれ。
但し、HTML の tag の意味を「<H1> は字を大きくする タグだ」とか何とか 履き違えている人にとっては、 却って使いにくいでしょうね。 そういう人は TeX だけで使いましょう。
ファイルを読み込んだときに、ふつうは cursor がファイルの最初に 来ちゃいますが、「前回編集してたとこに cursor がある状態で始めて くれないかなぁ」と思うときはありませんか?
Emacs に標準で含まれる saveplace.el は これを実現してくれます。 cursor の位置情報を保存するための file を指定するくらいで、 他に特別な設定は要りません。以下は設定例です。
(require 'saveplace) (setq-default save-place t) (setq save-place-file "~/lib/mule/save/places")
save-place-file
は file名 と cursor位置 の cons の
list が保存されますので、新規に file を開くたびに 太ります(^^;。
でもまあ大した size ではないので、気にしないでおきましょう。