ViewSourceWith を使ってフォームを xyzzy で編集
2005-09-14
Firefox 用の拡張で ViewSourceWith というのがあって、これを使うとページのソースを外部エディタに渡して表示させることが出来るんですが、他にもフォームの編集を外部エディタで行うなんていうことも出来たりします。ということで愛用の xyzzy でフォームを編集できるようにしてみました。
ViewSourceWith はエディタに文字コード utf-8 でテキストエリアの文字列を渡すようですが、xyzzy はもちろん utf-8 を扱うことが出来ますのでこの点は心配ありません。特に wiki などのように既にある程度の内容が書き込まれているフォームのテキストエリアの内容を引っ張ってくる場合は文字コードの判定を誤ることもほとんどないでしょう。しかし、問題はテキストエリアにまったく何も書かれていない場合です。もちろん xyzzy の設定にもよるでしょうが、普通はデフォルトの Shift-JIS で開かれてしまい、フォームに書き戻したときに文字化けしてしまうことになります。そこで、ViewSourceWith からフォームのテキストエリアを受けとるときは utf-8 決めうちで開きたいわけです。
同様のことを行う mozex という拡張と xyzzy とを連携させる渦さんの研究によれば、utf-8 で開く関数を .xyzzy とかに定義しておいて、それをコマンドラインオプションで指定してやればよさげです。こんな感じ。
;;; utf8n で開く用
(defun utf8n ()
(revert-buffer *encoding-utf8n*))
これで xyzzy を呼ぶときにこの関数をコマンドラインオプションで呼べばいいはずです。が、残念なことに、ViewSourceWith にはオプション付きで起動させるすべが用意されていないようなのです。そこでもうひとひねり。
utf-8 決めうちで起動する xyzzy を仕立てることにします。まず、xyzzy がインストールされているディレクトリにある、xyzzycli.exe を utf-8.exe とか適当な名前でリネームして同じ場所に配置します。余談ですが、xyzzy のファイラーからだと、xyzzycli.exe にファイラーカーソルがある状態で、@キーを押すと、別名でコピーというのが出来るので便利です。
リネームされた xyzzycli.exe は自分と同じ名前の ini ファイルを読むように出来ているので、utf-8.ini というファイルを同じ場所に作ります。utf-8.ini の内容は以下の通り。
[xyzzy]
precedingOptions="-m utf8n"
これで、ViewSourceWith から呼び出すエディタに、utf-8.exe を指定しておけば utf-8 決めうちで受けることが出来るはずです。なお、普通にソースを xyzzy で開くにはこれを指定する必要はないので、デフォルトで、xyzzycli.exe もしくは、xyzzy.exe を登録しておいて、サブにこの utf-8.exe を登録しておくといいでしょう。
「ViewSourceWith を使ってフォームを xyzzy で編集」へコメントをつける
トラックバック
- 1: ヽ(´・肉・`)ノ日誌/firefox2.0とmozexとxyzzyでテキストエリアを編集するための設定 (2006-11-14T11:19:06+09:00)
- 3行で。長文書いたのにまちがって消してしまったエディタのキーバインドに指が慣れているな人におすすめブラウザのテキストエリアに長文を打ち込んでいて、間違って消してしまって泣いたことありません...
- この記事の永続的 URI ならびに トラックバック ping URI
- http://diary.noasobi.net/2005/09/diary_050912a.html