emacs+w3mで楽々wiki編集

wikiでテーブルを編集するのはしんどい

各種のwikiが世に広まりウェブ上で簡単に共有ドキュメントが作成できるようになって便利になった。
元々wikiは「簡単なドキュメントを素早く」というのが趣旨だったようだが、最近ではその域を越えた
任務も課せられている。大がかりなプロジェクト管理の表とかもwikiでやってしまう場合もある。
そんなテーブルをブラウザのtextareaの中で編集するのは至難の技だ。億劫さのあまり、プロジェクト
進捗状況の更新を怠り、上司に叱られたりする。

emacs+w3mで楽々編集

w3mブラウジングに特化しているので諸々の機能を外部プログラムに任せるunixyな素敵なブラウザだ。
当然、textareaの編集も外部エディタに任せる。viやvimユーザはこれで十分。
でもemacsユーザは一々新規にemacsを立ち上げる習慣がないので、emacsclientを使って
既に起動しているemacsに編集させる。

emacsw3mを連動させる設定

まずは必要なプログラムをportsでインスールする。
FreeBSDでない人は適当にやってください。
w3mはutf8をサポートするバージョンにしよう。


$ cd /usr/ports/www/w3m-m17n; sudo make install

emacsもutf8をサポートするバージョン23がいい。
(もしかすると、portsをcvsupしないとだめかも)


$ cd /usr/ports/editors/emacs-devel; sudo make install
クライアントサーバemacs

.emacsにこの一行を入れる
(server-start)

これを即有効にするには、この行の後で「C-xC-e」としてこのsexpを実行する。
すると、emacsがサーバになる! インタラクティブなエディタがサーバなんてちょっと変な気がするかも
しれないが、クライアントからのリクエストを待つのでれっきとしたサーバだ。

クライアントのテスト


$ echo hi there > x
$ emacsclient x

走っているemacsに「hi there」という内容のバッファがロードされたらOK。


編集して「C-x #」とすると確認してくるんで、「y」とするとファイルに反映される。


$ cat x

w3mの設定

w3mのディフォルト外部エディタはviなんで、これを emacsclient にする。
環境変数「EDITOR」はw3m内部の設定にオーバライドされるので、w3mの設定画面で指定する。

p


$ w3m /etc/hosts
* type 'o' to get into the cOnfiguraion screen.

* w3mで適当はファイルを開く(開けるものが無いと直ぐ終了してしまいうので)
* 「o」を押すと設定画面となる。 (「cOnfiguraion」の「o」と覚える。)
* 「editor」「エディタ」の項目を検索する
* 「/usr/local/bin/emacsclient」と指定する
* 「OK」で確定。

大きな表を楽々編集する

* wikiページの編集リンクをクリック
* textareaをクリック
* returnで内容をemacsに送る
* emacsのバッファにtextareaのコンテンツがロードさせる
* 編集する。この際「org-mode」のテーブル編集機能を使うと幸せになれる。
* 「C-x #」でw3mに送り返す
* w3mで開いているwikiページで保存する


emacs+w3m使うようになってから、マメにtwikiするようになった。
開けたり保存したりする際のキーストロークが増えたが、これは慣れれば苦にならない。
実は今、この投稿もemacs+w3mで編集している。これで、日記も毎日つけられるように
なるかもしれない。