Unix系OSで昔から愛されているエディタに「emacs」というものがあります(※リファレンスは「mule/emacsコマンド一覧」参照)。
Window上でのemacsライクなものとして「Mule」「Meadow」「xyzzy」があります。これらは、いずれもemacs-lispにより拡張が可能なため、emacsの代替として十分利用できると思います。
XKeymacs は Windows 上の全てのアプリケーションにおいて Emacs like な操作性を実現するためのキーボードユーティリィティです。
解凍して、実行ファイルを起動するだけです。
Mule for Windows は、Windows 95/98/ME/NT/2000 で稼動するテキストエディタ GNU Emacs です。 ただし、現在は開発を中止しているため、下記の Meadow を利用してください。
Meadow は、Windows 95/98/ME/NT/2000 で稼動するテキストエディタ GNU Emacs です。基本的にはGNU Emacsをベースにしていますが、積極的にmaintainer達の好みで改良が施されています。
Meadow-1.15 から、インストールを自動化する Netinstaller が提供されるようになりました。
これを使うと、 Cygwin と同じように、ネットワーク経由で Meadow 本体と elisp パッケージを簡単にインストールできるようになります。
ダウンロード: Meadow の配布ページ
開発元: http://www.meadowy.org/meadow/wiki/
ダウンロードページより、3.00 ->setup.exe を入手します。
「環境変数名」を「HOME」として、「.emacs」を置く箇所を指定します。
C:\cygwin\home\(ユーザ名)
また、Cygwin の /bin(例: C:\cygwin\bin) にPATHを通すことで、シェルモードでCygwinが利用できます。
ロード中に発生したエラー内容をまとめます。
An error has occurred while loading `c:/meadow/.emacs': File error: Searching for program, no such file or directory, anthy-agent
$ cd /cygdrive/c/meadow/packages/pkginfo/anthy/ $ mv auto-autoloads.el off___auto-autoloads.el
error: Outdated speedbar 1.0 just installed
$ cd /cygdrive/c/meadow/packages/lisp/cedet/speedbar/ $ touch .nosearch
An error has occurred while loading `c:/meadow/.emacs': Symbol's value as variable is void: skk-large-jisyo
$ cd /cygdrive/c/meadow/packages/pkginfo/skk $ mv auto-autoloads.el off___auto-autoloads.el
開発者が日本人であり、非常に多くの愛用者がおり、様々な設定ファイルを手に入れることができます。
ただし、完全なemacsのクローンでは無いため、コアなemacsユーザには機能が少ないと感じると思います。
「xyzzy」はインストールは必要ありません。GUIで他のエディタ同様に利用可能です。
カスタマイズは次のいずれか方法で可能です。優先順序の高い順に並べています。
フォントとか、共通設定を変更すると「xyzzy.ini」という設定ファイルが「usr\ログイン名\プラットフォーム\」に作成されます。
独自に「.xyzzy」ファイルを作成した場合は、環境変数でパスを通す必要があります。
「コントロールパネル」→「システムのプロパティ」→「詳細」→「環境変数」より「○○のユーザー環境変数」で「新規」を選択し、次のように入力します。
この場合「.xyzzy」は「C:」置いてください。
「siteinit.l」ファイルを作成した場合は「xyzzy\site-lisp\」内に置いてください。
そして、xyzzyを起動し次のコマンドを入力し、「siteinit.l」の場所を指定します。
M-x: byte-compile-file
ここで「M-x」は「Esc(Alt)キー」+「xキー」を意味します。「siteinit.lc」と言うファイルができていれば成功です。
最後に「xyzzy\」内の「xyzzy.wxp(.w2k)」を削除します。