Modes

[TOP] -- [Emacsen] -- [modes & TIPS]

便利なものとか、しょーもないものとか...。


outline-minor-mode

これは便利。非常に便利。一度使うとやめられなくなります。 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 だけで使いましょう:-p

saveplace

ファイルを読み込んだときに、ふつうは 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 ではないので、気にしないでおきましょう。


[TOP] -- [Emacsen] -- [modes & TIPS]
邑 tsumura@kuis.kyoto-u.ac.jp