psgmlモードと定型文補完(スニペット)で楽々HTML編集

詳しくは、以下の情報源を参照。
emacs + snippet.el の定型文補完(スニペット)で楽々HTML編集 - Goodpic


一応、.emacs に追加する設定をメモとして残しておく。

;;------------------------------------------------
;; PSGML 用のsnippetを記述
;;------------------------------------------------

;; snippetを有効にする(abbrev-modeの強化バージョンみたいなもの。)
;; 注:このsnippetモードは、内部でabbrev-modeを使ってるので、abbrev-modeを有効にしておく必要がある
(require 'snippet)

;; snippet.el で、addrev に定型文を追加する
(add-hook 'sgml-mode-hook
           '(lambda ()
			  (setq-default abbrev-mode t) ;; abbrev-mode をon
			  (snippet-with-abbrev-table 'global-abbrev-table 
	  ("htdiv3" . "<div class=\"section\">\n$>$><h3>$${title}</h3>\n$><p>$${body}</p>\n$.</div>$>")
	  ("htdiv4" . "<div class=\"section\">\n$>$><h4>$${title}</h4>\n$><p>$${body}</p>\n$.</div>$>")
	  ("htdivr" . "<div class=\"section refer\">\n$><ul class=\"source\">\n$>$><li><cite><a href=\"$${cite}\">$${title}</a></cite> より</li>\n</ul>$>\n$><blockquote cite=\"$${cite}\" title=\"$${title}\">\n$><p>$${body}</p>\n</blockquote>$>\n</div>$>")
          ("hthref" .  "<a href=\"$${url}\">$${title}</a>") ;; 続けて複数指定できる
	  )
))


上の設定を .emacs に追加しておけば、psgmlモードに入ると定型文補完(スニペット)が有効になる。上の設定例の場合、.html ファイルを開いて、psgmlモードに入り、「hthref RET 又は SPACE」と入力すると、

<a href="url">title</a>

という定型文が補完される。良く使う定型文を何個か登録しておくと便利そう。