まとまった分量の執筆を行う場合、多くのユーザはテキストエディタかワープロを使うはず。業務用の文章を書くことはない、案内状などの書類作成はWordやPagesで十分という向きはさておき、特にUNIX使いなど"手に馴染む道具"を求め試行錯誤を繰り返すユーザは少なくないことだろう。Snow Leopard発売目前のいま、あえてMac OS Xユーザ向けに、自分にとってベストなテキストエディタを選ぶことを提案してみたい。

「テキストエディット」が物足りない理由

Mac OS X向けサードパーティー製テキストエディタについて語る前に、システム標準のエディタ「テキストエディット」にどのような機能が不足しているか、現状認識から始めてみよう。

文字コード識別機能がない

テキストエディットには、文字コード識別機能がない。環境設定パネルでファイルを開くときの動作を決める項目には、「自動」という選択肢が用意されているが、これを選んでもShift JIS以外のエンコード形式は識別されないのだ(手動でエンコード形式を指定すれば問題なく開くことができる)。EUC-JPやUTF-8などのテキストファイルを扱うことが多いユーザにとって、この仕様はかなり不便といえる。

EUC-JPでエンコードされたテキストファイルをダブルクリックしたところ

構文ハイライト機能がない

CやJavaなどに対応した構文ハイライト機能を備えるテキストエディタ「mi」

テキストエディットは、書式付きテキスト(リッチテキスト)に対応するが、プレインテキストの内容を解釈して色付けするなどの機能は装備されていない。プログラムのソースコードを開くことは可能だが、関数や予約語、コメント文が一律に同じ色で表示されてしまい、プログラミング向きとは言い難い。

サードパーティー製のテキストエディタには、各種コンピュータ言語に応じた色分け / 強調表示を行う「構文ハイライト機能」を装備しているものがある。「(」と「)」、「{」と「}」など、対応する記号が一目でわかるよう、入力した時点で点滅して知らせるような入力支援機能もあればうれしいはず。このあたりのニーズは、プログラマならば"言わずもがな"だろう。

縦書きに対応しない

「iText」備え付けの縦書きテンプレートに、プレインテキストを読み込んだところ

テキストエディタの「左から右方向への横書き」は、英語を始めとする欧米諸語の利用を大前提としている。しかし、プレインテキストは文字符号化に関するルールはあっても、表示様式そのものが厳密に決められているわけではない。話は若干それるが、インターネットメールにおける日本語の文字符号化を示した文書(RFC 1554)には、ISO-2022-JPに関する詳細な取り決めは記述されていても、水平方向に表示する場合は左から右へが想定されると示されている程度だ。

文書の縦書き表示は、テキストエディタがサポートしていても不思議はないが、実際のところその数は多くない。標準装備のテキストエディットも例にもれず、横書き表示一辺倒だ。原稿用紙のマス目に文字を入れる形で文章を記述したい、俳句や和歌の創作に適したエディタがほしいというのならば、縦書き表示対応のテキストエディタを検討すべきだろう。

カスタマイズ性に乏しい

テキストエディットに決定的に不足しているのは、カスタマイズ性だ。キーバインドはシステム標準のものを使うしかなく、定型作業を自動化するマクロ機能もない。Input ManagerやSIMBLの機構を利用すれば拡張できないこともないが、実際のところそのようなプラグインは見当たらない。この点は、ユーザコミュニティにより長年のノウハウと資産が積み上げられた、Emacsやviなどのエディタに大きく引けを取ると言わざるをえない。

テキストエディタの種類

以上、標準装備のテキストエディットにはない、裏返せば日本語対応のテキストエディタに求められる機能を4つピックアップしたが、すべてを満たす必要がないことに留意しておきたい。テキストエディタは"軽さ"が身上、プログラマはプログラマ向けの、ライターはライター向けのエディタを選べばいいのだ。

下表には、日本語を扱える、Mac OS X向けフリーあるいはオープンソースのテキストエディタをいくつかピックアップしている。少々大雑把ではあるが、一口にテキストエディタといってもそれぞれ方向性があり、得手不得手があることはご理解いただけると思う。次回は、この中から1つを選び、カスタマイズなど使いこなし術を紹介する予定だ。

■表:無償で使えるMac OS X向けテキストエディタ
方向性 名称
軽量指向 テキストエディット、nano(いずれもMac OS Xに標準装備)
伝統指向 Emacs(Emacs 23.1Carbon Emacs)、vim(macvim-kaoriya)
日本語指向 iTextTeXShop
プログラミング指向 CotEditormi