使いやすいWindows用テキストエディタは? – はじめに

以前から、使いやすいWindows用テキストエディタを探しています。

「使いやすい」とは、「自分の手になじむ」「自分の感性に合う」という意味であって、客観的な評価基準があるというわけではありません。この「自分にとって」という主観的な評価基準をできるかぎり客観的に表現するのであれば、不完全ながら、次のようになるでしょう。

  • よけいな機能がなく、テキスト入力に集中できること。(「よけいな」も主観的評価ですが…)
  • 軽快に動作すること。例えば、数万行のテキストを読み込んでも操作が重くなったりしないこと。
  • 制限がないこと。例えば、読み込むことのできるファイルのサイズに上限がないこと。
  • マクロ機能を備えていること。
  • emacsのキーバインドが利用できること。
  • 頻繁にバージョンアップがされており、最新の技術を取り込んでいること。
  • メニューに半角文字を使っていたり、奇抜なカラーリングをしていたり、美的センスに欠陥がないこと。
  • フレキシブルな設定ができる(細部にわたり動作を制御できる)一方で、その設定はシンプルに(少ない手順で)行えること。

いろいろと使ってみてはいるのですが、なかなか「これぞ!」というものに出会えません。そりゃあ、これだけ高いハードルを設定すれば、そうかもしれませんが。

しかし、テキストエディタは意外と多くの方々が作っているソフトウェアであり、探せば理想とするものが見つかるかもしれません。多くの方々が作っているというのは、それだけ何かしらの不満があるということなのかもしれませんね。

まずは、どのようなエディタがあるのか、というところから調査します。同じようなことを考えている人が多いのか、Wikipediaには、代表的なテキストエディタをリストアップしたページがあります。まずは、そこに挙げられたテキストエディタを確認していきましょう(随時更新予定)。

サクラエディタ
オープンソースで開発が進められている和製テキストエディタ。標準で多数の機能を備えている。
秀丸エディタ
老舗の有料テキストエディタ。有料だけあって、豊富な機能を高レベルで備えている。
AkelPad
オープンソースで開発が進められているテキストエディタ。本体はシンプルに作られており(「メモ帳」プラスアルファ程度)、プラグインで機能を追加していく。

Windowsで快適な日本語Emacs

Emacsの日本語環境としては、Meadowという派生アプリケーションが有名です。しかし、Emacs 22までで止まっており、Emacs 23には追随していないとのこと。どうせ使うなら最新のバージョンを使いたい!(とくに新機能を使うというわけでもないのだが…) ということで、Meadowは敬遠していたのですが、そうすると、日本語のインライン変換ができないなど、Emacs 23の不便なところを受け入れなければならなくなります。さらに、最近リリースされたEmacs 23.2を使ってみたら、日本語の入力ボックスすら表示されなくなっているではありませんか! さすがにこれは使い物になりません。

ということで、ちょっと検索してみたら、NT Emacsというものが存在するようです。名前は若干違いますが、何ということはない、単にEmacsにパッチを当ててビルドしたものだということ。これならば、最新のEmacsに追随しつつ、Windowsに特化した機能を得られるのでしょう。そこまでは謳っていないような気もしますが、そんなイメージです。ええ、勝手に期待しています。

こちらのページにて、NT Emacsのインストール方法が紹介されています。

これからインストールに取りかかってみる予定。

紹介されていた方法では、Emacsにパッチを当ててビルドするという方法です。やれやれ、MSYSやらMinGWをインストールしなければならないのか、こりゃ大変だ、と思っていたのですが、パッチを公開しているgnupackを見てみると、ビルド済のNT Emacsが公開されているではありませんか。もしかして、これを使えばいいのではないか?

パッケージをダウンロードして使ってみると、何のトラブルもなく、起動してくれました。しかも、ちゃんとインラインで日本語入力ができます。

なんということでしょう、これにて一件落着です(笑)。

というわけで、gnupackが公開しているNT Emacsを使えば、Windowsで快適な日本語Emacs環境が得られます(少なくともわたしは快適だと思っている)。何というか、自分が考えつくことは、たいてい、すでに誰かが行っているという経験則を実証してしまったような気もしますね。まあ、終わりよければ、それでよし。

Windowでemacsみたいなエディタ

いつの間にか、emacsキーバインドが体に染みついてしまいました。もはや、標準的なWindowsのエディタを使うことはできません。カーソルを移動させようと思うとファイルを開いてしまったり、印刷を始めてしまったりしてしまうのです。

そんなわけで、ふと思い出したように、いろいろなエディタを探す旅に出てしまうことがあります。Windows上で、自分の要望を適度に満たしてくれるエディタはないものか、開発環境はないものか。キーバインドはemacsに準じたもので、しかしWindowsネイティブなプログラムであって動作は軽快、設定も分かりやすくグラフィカルであってほしい。内部はRubyもしくはJavaScriptが組み込まれていて、簡単にスクリプトを利用することができる。そんな、使いやすいエディタはないものか。

そこまで考えているなら、自分で作れって話ですが。

まあ、それはそれとして。既存のものを頑張って作る必要はありませんから、まずはリサーチすることが肝要なわけです。

かつて使っていたのはxyzzy。emacsに準じた操作方法、Lispインタプリタ内蔵、動作も軽快と、希望を満たしてくれるソフトウェアでした。しかし、ある時期を境に、更新が止まってしまいます。現在ではソースも公開されており、これを改変することによって自分の希望を満たすようにできるのかもしれませんが、うーむ。現状でも十分な性能を持っているので、とくに更新されなくても構わないように思えますが、いまは使っていません。また使おうかな…。

次に見つけたのは、エディタではありませんが、xkeymacs。Windowsのフックを使って、あらゆるアプリケーションをemacsバインドにしてしまおうという、ちょっと野心的なソフトウェアです。確かに、このアイディアは素晴らしいところがあります。しかし、もともとemacs的な機能を持っていないソフトウェアについては、無理があります。そのため、こればかりに頼るというわけにもいきません。たとえば、Ctrl+X Ctrl+Fは、メニューから「ファイルを開く」という項目を探して、それを実行しているように見えます。そのため、メニューの記述が一般的なアプリケーションと異なっている場合などは、この機能が働かないということになります。

しかし、ちゃんと適合するソフトウェアであれば、emacsっぽく使うことができるようになります。Peggy Padは、そのような要件を満たすエディタのひとつでした。スクリプトなどの機能はありませんが、軽快で、テキスト編集には十分な機能を持っているソフトウェアです。企業が作っているということで、それなりに(いろいろな)信頼が置けそうだというところもポイントです。まあ、そんなものは主観にすぎず、本当に信頼できるかどうかは分からないのですが。とりあえず、けっこうな期間使いましたが、信頼が裏切られたようなことはありませんでした。

Meryというソフトウェアもあります。これはスクリプトを使うことができたり、プラグインを使うことができたり、拡張性に優れています。エディタとしての機能は、標準的。ちなみに、スクリプトはWindows Scripting Hostをサポートしているようで、JScriptとVBScriptがサポートされているとのこと。しかし、Delphiで作られているためか、ちょっとxkeymacsとの相性はよくありません。

いろいろと巡ったところで、行き着いたところは、emacsだったりします。最近のビルドはWindowsでもそのまま動くようになっており(バイナリ配布されているものを使った場合)、ある程度はGUIを使って操作することができます。しかし、Windows APIを直接に使うようなものではないようで(何かのツールキットを使っている様子)、GUIまわりにちょっと不安があります。しかし、期待しているすべての機能を満たしており(そりゃemacsなんだから当然だ)、機能的には満足です。Emacs Lispがよく分からないので、ちゃっちゃっと設定を書いたりすることができないというのが難点ですけれども。

なんだか、いろいろ探していたら、最初にいた位置に戻ってきたという感じです。しかし、最近のemacsはWindowsでも使えるように対応が進んでおり、また、国際化も進んでいて、UTF-8が普及したからか、日本語なども問題なく扱えるようになっています(ただ日本語入力するときはインラインに書き込めない。これは何とかしてほしい。自分でコントリビュートすればいいのだろうが)。