2010年02月25日(Thu)
■ Windows7(32bit)にVMWare+Ubuntuを入れて、vimでウェブを編集する環境を手にいれた。
わたしがもっとも楽に文章を打てるエディタは、viだ。これはテキストエディタとコマンドプロンプトがひとつの画面でシンプルに使えるテキストエディタだ。エディタ上でコマンドが打てるというのは実に便利で、たとえばプログラムを書きながらそのまま「:make」とか打つと、コンパイルできたりする。また、現在の日付(date)やディレクトリ表示(ls)の結果をするっと文章に貼り付けたりできる。(そんなことができてうれしいのはプログラマくらいだと思うが)。
vi(またはvim)の操作感を言葉にするのは難しい。Windowsのいわゆる普通のテキストエディタだと、言葉とコンピュータは切り離されている感じがする。けれど、vi(またはvim)で記述をするとき、言葉はそのままコマンドとなり実行される動的な躍動感を持つように感じる。
viはUnix版が元祖らしく、LinuxやWindowsにインストールできるクローン版はvimという。わが家では、「vimはviではない」というvi原理主義者がいるので、家庭内宗教戦争を避けるために、viとvimという言葉は使い分けている。
で、そんなに好きなエディタなのに、会社の仕事をやめてから(=Unixを使わなくなってから)長いこと使ってなかったのは、Windowsで使えるviクローンが、わたしが初めて使った当時(もう7年以上前)、Unixのviに比べてぜんぜん使えなかったからだ。
パソコンを使う時に、エディタは重要だ。ものを考える時に、エディタは重要だ。エディタはメディアだ。 パソコンに向き合うということは、エディタに向き合うということだ、という名言を昔みたような気もするが、どこでだっただろうか。
閑話休題。
ずいぶん前、2004年の日付があるので、もう6年もまえに、YukiWikiにこんなページを作ったのを思い出した。textarea -。ブラウザの編集エリア(textarea)から、好きなエディタを起動できたらいいだろうなぁ、と、思って作った。
で、w3mの情報も掲載されてたのに、ぜんぜんそれの本質的な使い方がわからなくて、ながーいこと、あまりにも長いこと、放置していた。
わたしはずいぶんと長いこと、「もっとも使うエディタは、IEやFireFoxなどに表示されるデフォルトのtextarea」という貧弱なテキストエディタ環境に甘んじていた。
そして、一昨年だったか、何かのミーティングの時に、Emacs+Wiki使いの人が、華麗にEmacsからWikiにテキストを保存しているのをみて、驚愕したのだった。
「それ、わたしもやってみたい!」。
Emacsは操作がviとはかなり違う。viは素のシェル上に乗ってるのに対して、EmacsはEmacsというシェル(世界)の上で動作しているのだ(って理解であってるのかなー?)。何度か、WindowsにインストールできるEmacsクローンを試してみたのだけれど、ぜんぜんダメだった。わたしにはviが染みついている……。
で、先月末に、ちょっと試したいことがあって、cygwinを自分のマシンにインストールした。cygwinはWindows上に乗っける疑似シェル環境(仮想OSではない)で、テキストエディタのvimがあることに気づいて、ふとさわりはじめた。
vimとパイプがあるんだったら、tDiaryの更新をvimからできるんじゃないか?最初は、vimからテキストをファイルにして、それをメール送信するようなスクリプトにパイプでぶち込んで、メール経由でtDiaryを更新しようか、と、考えた。
だけど、ぜんぜん、vimからメールするというのが難しい。で、ハッと、2004年に見た情報を思い出すわけです。w3m!いや、いきなり思い出したというよりも、改めてWebにテキストエディタからデータをpostするのってどうすればいいんかなー、と、Emacsの実装を探して参考にしようかと思ったら、どっかのサイトに「Emacsのブラウザはw3mを内包している」というようなことを書いてあるのを見かけて。で、w3mを調べたら、「viライク(viのようなキーバインド)のテキストブラウザ」というようなことを見つけて。さらにw3mからtextareaは設定したエディタを呼び出しているというのが、よーやっと理解できて。
あーっ、これか!
と。この発見の喜び、わかりますか?
w3mで、textareaのあるページ(例えば http://example.com)を見ます。コマンドはこう打ち込む。
$w3m http://example.com/
わたしはGOTO_LINEに「:」を設定しているんだけれど、viのように「:textareaの行番号」と打つと、textareaにジャンプします。例えば、textareaが表示された画面の24行目だったら、次のように打つ。
:24
そして、w3mは編集エリアで「a」と打つと、編集できるのです。
a
textareaの場合は、関連づけられたエディタが起動します。
すばらしい……。(感動している)。
で、ブラウザがこんな軽快なものなのならば、メーラーだってそういうものがあるはずだ!と思って調べたら、どうやら、muttというメーラーがviライクな操作で、かつ、メールの編集エディタは好きに関連づけたエディタで編集できるということがわかりました。
が、このmuttがねー。cygwinでは動かないんだわ。いや、動くことは動くんだけれど、ちょっとキーを触って操作すると、画面がどんどん表示崩れをおこしてしまう。しばらくがんばったのですが、結局、昨日、画面の表示崩れはなおらないわ、ssmtpの設定がうまくできないわ、で、心がくじけました。
その代わりに、twitterでkdmsnrさんに教えてもらったVMWare Player(VMWareの無料のもの)とUbuntu(Linux OS)を入れたらすごかった。
ああ、さくさくとインストールできて、vimもw3mもmuttも、動く!
VMWareインストールして、UbuntuのVMWare用の何かを解凍して、VMWare立ち上げたら、デフォルトでvimとw3m入っているし、muttのインストールも簡単!(cygwinのあの格闘はなんだったの?!)
$sudo apt-get install mutt
ついでに
$sudo apt-get install sendmail
のたった2ステップで動く。
で、$HOME/.muttrcを設定したら、GMailをIMAPして送受信できる!
すばらしいなぁ。
という感動のお話でした。
■ kw.rbのURLエンコーディングがなんだかおかしい?
kw.rbを利用して、tDiaryからFSWiki(euc-jp)にInterWikiNameを貼る設定をしてるんだけれど、utf-8にエンコードされてしまう。
どうすれば、URLをeuc-jpにエンコードができるんだろう。おかしいなー。
- tDiaryのキーワードの設定(リンクリストの指定)
nil http://www.freedomcat.com/wiki.cgi?page=$1 euc-jp
- 日記本文に書いた文字
[[勉強会/20100222仮面ライダー勉強会]]
勉強会/20100222仮面ライダー勉強会 ←URLエンコードがおかしくて、正しいページにジャンプできない。
ただしくはこちら。