さくらんぼのlambda日記

lambdaちっくなことからゲーム開発までいろいろ書きます。

sublime text 2を導入してみました

巷で話題の、sublime text 2を導入してみました。 @nekorukiaさんがRuby編集環境を物色していたので薦めるついでに自分も使ってみたら 使いやすくて気に入ってしまいました。

具体的には

  • 起動時間が短い
  • 多くの言語に標準で対応している
  • Windows/Mac/Linuxで動作する
  • UIが綺麗

あたりが気に入った理由です。

自分は10年以上Emacsで生活してますが、いくつか気に入らない点がありました。

  • 設定が面倒くさい点
  • 起動が遅いという

これらの問題をSublime Textは見事に解決してくれました。

今までのEmacsの生活

Emacsはとても強力な開発環境を提供してくれます。 しかし、それを手に入れるには様々なEmacs Lispを導入しなければなりません。 拡張機能の存在のあるなしも含めて調査から開始です。

例えば、Haskellを始めようと思ったら、

  1. Haskell向けのシンタックスハイライトがないか調べる
  2. ghciがemacs上で対話的に操作できないか調べる
  3. シンボルからドキュメントを引くことができるかどうかを調べる
  4. 補完ができるかどうかを調べる
  5. emacs上でhaskellの実行ができないかどうかを調べる
  6. コードナビゲーション機能があるかを調べる

といったことをついついやってしまいます。 要は、Emacs上にすでに構築してある他の言語環境と同等のものを設定したくなってしまうのですね。

実際のところHaskellを始めるには

  1. Haskell向けのシンタックスハイライトがないか調べる
  2. 補完ができるかどうかを調べる
  3. emacs上でhaskellの実行ができないかどうかを調べる

程度ができれば十分実用になるはずです(これでも面倒くさいですが...)。

また、起動速度に関しては、様々な環境を構築しきっている状態ではEmacsの起動はとても遅いです。 言語を始めたての頃は気軽に起動して実行して試したいはずですが、時間がかかり過ぎてしまいます。

emacs-serverとemacs-clientという仕組みがありますが、これがベストな解決には思えません。 常時Emacsを起動していないといけないので、邪魔です。Alt+Tabとかに常にEmacsがいるような状態は嫌です。 手軽に起動できて終了したいです。

これらの欠点のせいで、新しい言語を始める場合や書き捨てのファイルを作るのに億劫になる場面が多々ありました。 なので、

  • 高速に起動できる
  • 多くの言語に標準で対応している
  • Emacsと同じOSで動作する

というエディタが欲しくなっていました。

Sublime Textの生活

そんな自分にとって、sublime textは魅力的なエディタです。

  • 起動は早い
  • 標準の機能で多くの言語に対応し開発可能
  • Windows/Mac/Linuxで動作する
  • UIが綺麗

だったからです。

標準だと日本語入力に難があったので

を入れて

  • IMESupport

を入れるだけで多くの言語において十分実用になる環境(シンタックスハイライトされ、ある程度の補完をしてくれて、実行がエディタから行える環境)が手にはいりました。

使っていて足りないかも思う機能としては

  • コードナビゲーション
  • 対話環境
  • ドキュメント引き

の機能が挙げられますが、多くの場合プラグインがありそうです。 それにEmacsを別に捨てるつもりもないので、しっかりした環境が欲しい場合はEmacsの環境を構築すれば良いと考えています。 (例えば、Common LispのSLIME環境と同等のものがSublime Text上に構築できるとはとても思えませんから、当分Common LispEmacsで開発するでしょう。)

こんな感じで、Sublime TextとEmacsの合わせ技でしばらく生活してみようかと思います。

おまけ

HTMLで少し遊ぶかと思って以下のものも入れてみましたが なくてもあってもどちらでもよさそうです。