テキストエディタ捜索

Windows95を始めて見た時に衝撃だったアプリの1つがメモ帳。
字がかけて、マウスで操作出来て、デザインも綺麗で、あんな凄いエディタが最初からタダで入っているというのが感動的だった。

その後もメモ帳で進化してるけど、やっぱり色々と物足りなくなってくる。
行番号が出たり自動的に色付けたりしてくれないと寂しい。
""のとじ忘れに気付かなかったり、{}の対応がわからなかったりもする。

ということで色々あった結果、最近はサクラエディタに落ち着いていた。
これも十分凄いソフトだし、Unicode対応とか強化も進んでるんだけど、細かい部分でどうしても足りなくなってきた部分がある。

1つ目は複数の言語が混ざってる時の色分けが意図した通りに機能しないこと。
HTMLの中にCSSやJavaScriptを書き込んだ場合とか、吉里吉里2でkagの中にtjsを混ぜるような書き方をする時、それぞれを別のルールで色分けしたい。
そこで現在はGinnieというエディタを併用。吉里吉里以外にNScripterやYU-RISといった日本人向けの言語に標準対応している点が使いやすいけど、全般的にはサクラエディタの方が強力で、メインを置き換えるという所まではいかなかった。

2つ目は対応する括弧を認識する機能。
サクラエディタもGinnieも()や{}の対応は自動的に調べてくれるので便利。
ところがbegin endのような文字列がカッコの役割を果たしている場合は対応出来ない。
beginとendを色分け表示は出来るけど、それぞれがちゃんと対応して数が合ってるかは自分で数えないとわからない。
これが原因でLuaやRubyのような、カッコ以外で構造を作る言語には別のエディタを使わざるをえない。
ついでにボタン1つで折りたためるようにしてあるとさらに便利。

3つ目はevalのように文字列の中身の色分け。
色分け上どうしてもただの文字列扱いになってしまうし、実際ただの文字列なんだけど、中身の単語を間違えてると動かないという点では通常のプログラム部分と同じ。
むしろ実際にその部分を実行するまでエラーがわからない点でよりタチが悪い。
プログラムだけでなく、セリフ中の人名の部分で色を変えるなどの特殊な処理もやりたい。まず試したのはEmacs
今更というぐらい昔からあるやつだけど、最近のはWindowsでも普通に使えるようになってるみたいだったので、ちょっと試してみた。

http://gnupack.sourceforge.jp/docs/latest/UsersGuide.html
ここにあるバージョンだと、日本語入力も問題なく、立ち上がりも高速。バックグラウンドで色々動いてるのも気にならない。
拡張性も高いから、グラフィック表示でもなんでも大抵のことが出来るし、そうやって作られてきた豊富な資産がある。
操作性が気にならなければこれが最強だと思う。

操作性が気になってしまった…
ショートカットキーはcua-modeで何とかなったけど、リングバッファとか、ふとした拍子にウィンドウ分割されたりとか、わかれば便利なんだろうけどわからないと恐ろしい。
各種情報も元々Unixで使ってた人がWindows上でも不便なく使えるようにというのが主で、元々Windows文化で育った人がEmacsの資産を活かすという話は少なめ。

ただ昔互換ソフトとか色々試した頃よりは確実に使いやすくなってると思う。
自分で拡張するとか、そういう風に拡張出来るやつを見つけるとか、上手くすればWindows風エディタにすることも可能なんだろうと思うけど、そこまでは到達出来なかった。

Emacsのことを色々調べていて見つけたのがSublimeText2
マルチプラットフォームで、比較的Macユーザーが多いという印象だけど、Windowsユーザーも結構居るし、Windowだから不便というのは感じない。
プラグインや設定ファイルも共通のものが動く。
キー操作の説明でCtrlやAltの部分を読み替えが必要になる事がある程度。

これも最初はしっくり来なかったけど、使ってるうちに色々と凄さがわかってきた。

まず問題点の1は色分け設定で出来るし、既存の色分け設定でも対応して書いてあるので楽々クリア。
2は普通のカッコはプラグインで対応可能。
折りたたみ機能があるからそれで足りるけど、必要なら自分でプラグインを作ることも出来る。
3も出来そうな感じだけど、ここはもう少し試してみないとわからない。

それ以外に、フォルダをドロップすることで簡易プロジェクト管理機能も素晴らしい。
ファイル単体だと、コンパイル機能があったとしてもそのファイルだけコンパイルされてしまって意味がない。編集してるファイルと動作確認用のファイルは別なことが多い。
かといって毎回フルパス指定で使う実行ファイルを指定するのもめんどくさい。
IDEみたいにプロジェクトを作れば対応出来るけど、そのプロジェクトを作るのもまためんどくさい。

その点SublimeText2のプロジェクト管理はめんどくさくない。
エクスプローラからフォルダをドロップしたら、そのままプロジェクト扱いになる。
フォルダ内のkrkr.exeを起動みたいにしておけば設定は同じまま使いまわせる。
エディタを閉じた時にファイルの内容(セーブしたかどうかも含めて)を全て復元する性質があるから、プロジェクトの保存自体が不要。
でも必要な場合はプロジェクトファイルとして状況を保存することも出来る。
簡単な使い勝手と色々出来るということを上手く両立させた設計で、当初探していた機能ではないけど、SublimeText2で一番気に入ってる点かもしれない。

後はデザインもカッコイイ。
プログラムだけじゃなく普通のテキストも開いて常用するには、その辺も結構肝心な要素。

ただ気になる点もいくつかある。
まず有料だということ。しかも円安の影響もあってかなり高い…
今のところ試用期間の制限がないとはいえずっとそうとは限らないし、開発中止のリスクもある。
利用者が多ければ互換エディタが出る可能性も高いし、互換性をもたせやすい仕様だとは思うけど。

まずメニューの日本語化が、プラグインの追加ほど簡単な方法では出来ない。
(出来るのかもしれないけどわからない)

そしてShift-JISの問題。読み書きはConvertToUTF8でいいとして、プロジェクト内検索(Grep)の時に日本語キーワードが使えない。
プラグインを改造してどうにかならんかと調べてみたけど、grepのタイミングではEventLisnerが拾ってくれない。

プラグイン用のPythonのバージョンが2.6というのも古い。
SublimeText3ではPython3.2になるらしいけど、それはそれでプラグインの互換性がなくなるものが結構あるとか。
Ren'pyもそうだけどPython2系から3系への移行は色々難しそう。

そういった事を考えながら、しばらくはSublimeText2を軸に使っていく予定。
他のにするにしても、自分の中でまたハードルが上がってしまったので、次に選ぶエディタも苦労しそう。
posted by unaunagi at 2013/06/08 23:23 | Comment(0) | TrackBack(0) | デジタル>プログラム | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/365588413
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。