ぐるっとぐりっど

日曜プログラマがいろいろ試してみたことを、後の自分のためにまとめておく場所

Windowsでemacsを使う各手段とメリットデメリット

はじめに

windowsemacsを使おうとすると、これまでは、MeadowNTEmacsか、と思っていたけれども、最近gnupackのことも知って、そちらを使っている。そして、最近、Windows10のanniversary updateにより、Windows上でUbuntuが動作するようになり、そちらも候補として挙がってきた。そこで、今Windows上でemacsを使う手段と、それぞれのメリデリについてまとめてみた。

Meadow

昔はWindowsemacsとなると、MinGWとかCygwinとかでunixバイナリ動かすのを除けば、meadowxyzzyか、という気がするけど、公式ページも消滅しているので、もはや俎上に載ることはないでしょう。私もWindowsではじめて使ったのは、meadowなので思い入れとしては強い。

NTEmacs

http://ftp.gnu.org/pub/gnu/emacs/windows/

いわゆるWindowsEmacsMeadowから卒業した後使い出した。

メリット

  • Windowsバイナリなので、ダウンロードすればすぐ使える。
  • 本家が出しているので、リリースは早いはず
  • emacsに閉じた範囲では、困ったことはない

デメリット

  • IMEとの親和性が良くないらしい(ddskk使っていたので、あまり意識したことはない)。対応するにはパッチが必要だけど、適用済みのものもあるのかな。
  • c/migemoとか、他のアプリと組合せて便利にしようと考えると、Windowsのことも意識する必要がでてきて嵌まる場合がある。

↓嵌まった例
grugrut.hatenablog.jp

gnupack

https://osdn.jp/projects/gnupack/

cygwinとセットで展開されている。スクリプト等も用意されているので、ダウンロードして展開するだけですぐに使える。今はこちらに乗り換えている。

メリット

  • 展開するだけでemacsだけでなくcygwinも使える(gvimとかいう異教徒向けのものすら含まれている)
  • migemo等の設定もすんでいたり、IMEパッチも適用されているので、そのあたりで苦労することはない

デメリット

  • Cygwin上で動かしているのでcygwinの問題に引きずられてしまう(Doing Vfork: resource temporarily unavailable)。検索するといろいろ出るには出るけれども、解決には至っていない(すぐ再発する)。
  • ひとりの手で開発されているので、プロジェクト存続が気力しだいなのでは?

bash On Ubuntu On Windows

Windows10から、bashWindows上で使えるようになり、Xserverさえどうにかしてしまえば、ubuntu用のemacsを動かすこともできるらしい。デメリットの自分でビルドしないといけない問題を対処していないため、コマンドプロンプト上で、emacs -nwして動くところまでしか確認していない。

メリット

  • Cygwinよりは、nativeよりというか、Windowsが責任もってプロセスをforkしてくれると信じているので、NTEmacscygwinのいいとこどりができるのでは。
    • NTEmacsよりも外部プロセスとの連携がしやすく、gnupackのようなプロセス起動エラーがおきないというような

デメリット

まとめ

bashOnUbuntuOnWindowsに今後期待するとして、しばらくは、gnupackを使いつづけるのがよいのかな