emacs 23でnxhtmlは使えるのか?

Posted by nogajun - 2012/02/03

_

HTMLを書くのにずっとemacsのpsgml-modeを使っていたけど、開発が止まっているようだし、DTDに基づいて書けるのはいいけどDTDがないHTML 5は対応していないのでエディタをどうしようかと考え中です。

以前書いたeclipse+aptana studioは悪くはないけどeclipseとブラウザを開いて作業をしていると、非力なマシンではガリガリとメモリスワップを始めて使い物にならず、結局はpsgml-modeに戻ってました。

で、だましだまし書いてたけど、やっぱり今の時代は厳しいということでnxhtmlを試してみました。

nxhtmlのインストールはパッケージになっていないので、ダウンロードページ( http://ourcomments.org/cgi-bin/emacsw32-dl-latest.pl )からzipアーカイブをダウンロードして、ローカルのsite-lisp置き場で展開。

設定は ~/.emacs か ~/.emacs.d/init.el に

(load "~/.emacs.d/site-lisp/nxhtml/autostart")

と書くだけ。

使ってみる

emacsを起動すると…。うーん、読み込みが遅い。あとでバイトコンパイルしよう。 とりあえずHTMLファイルを作ってみます。

Warning: `font-lock-beginning-of-syntax-function' is an obsolete variable (as
    of Emacs 23.3); use `syntax-begin-function' instead.

ああ、なんか面倒くさそう…。

とりあえず補完のキーバインドは C-RET なので叩いてみると、一応使えるけど挙動がおかしい。 「<p」とタイプして補完すると候補が出るので選んでみるけど補完されない。

テンプレートの文字コードがiso-8859-1だし、テンプレートを変更しようと調べても面倒くさそうだしどうしようか。

もう少し粘ってみた

Warningのメッセージでググったら、LaunchpadのIssue Trackerがひっかかった。

ひょっとして開発版を使うといいのか?

ということでlaunchpadの開発版を試してみた。 開発版をリポジトリから取ってくるにはBazaarを使います。

$ bzr branch lp:nxhtml

Warningがなくなったし、テンプレートはUTF-8がデフォルトになってるし使えそうかな? しかし、遅いのでnxhtmlのThe Quick Guideに書いてあるとおり、 M-x nxhtmlmaint-start-byte-compilation としてバイトコンパイル。

起動が早くなったことを確認してHTMLファイルを開くとバイトコンパイルする前には出なかったWarningが出るよ…。

Warning: `local-write-file-hooks' is an obsolete variable (as of Emacs 22.1);
    use `write-file-functions' instead.

あー。nxhtmlめんどくさそう。