Qiita プライド: Atom 対 Brackets 対 Light Table 対 Sublime Text


新しいタイプのエディタ、つまり、マルチプラットフォームで、拡張性があり、プログラミングに適したGUIのテキストエディタが出てきている。これまでも、 Notepad++ などの高機能エディタはあったが、Windows専用だったり、マクロや色づけぐらいしか拡張機能が無かったり、と最高のCUIエディタである vim や Emacs に比べると不満が残るものだった。そういった不満な点を解決したのが新しいタイプのGUI高機能テキストエディタだ。 Sublime Text をはじめとして、どんどん世にでてきている。

このタイプのテキストエディタだが、現在、日常で使用できるレベルの安定性があり、メジャーなものは次の4つだろう。

* Sublime Text
* Atom
* Brackets
* Light Table

さて、この新しいタイプのエディタを使うにあたって、この4つのうちどれを使ったらいいのだろうか？その答えのヒントをくれるのが、下記の秀逸な記事である。

[SitePoint Smackdown: Atom vs Brackets vs Light Table vs Sublime Text](http://www.sitepoint.com/sitepoint-smackdown-atom-vs-brackets-vs-light-table-vs-sublime-text/)

上記記事はWebアプリ開発者向けに書かれているものだが、通常のアプリ開発者であっても十分参考になる内容だ。もし、どれを使うか迷っている最中なら、ぜひ、一読して欲しい。

SitePoint Samckdown は秀逸であるが、一つ問題がある。それは、英語環境でしか検証していないと言うことだ。プログラムのほとんどはASCII文字であるため、通常使用ではほとんど問題は無いが、やはり、コメントや日記[^1]は日本語で書きたいものだ。日本語環境向けのアプリなら、READMEも日本語で書いておくのが親切だろう。ということで、日本語を扱う上ではどうなのかというのを検証すべく、Qiitaプライド[^2]をここ日本で開催する！

[^1]: `git commit`したときに書くもの。

[^2]: Sitepoint は記事があるサイト、 Smackdown はアメリカのプロレス番組であるところから来ている。

各アプリのバージョンは執筆時点(2015年3月24日)の最新版(Sublime Text は3系を使用)となっている。検証環境は Windows 8.1、Mac OS X 10.10、Ubuntu 14.04 (日本語Remix) で行った。

## ラウンド1 日本語入力

そもそも、日本語を入力できなかったら話にならないし、よくある海外アプリのようにIMEのインライン入力ができないのも論外だ。なんと、Windows版 Sublime Text とはインライン入力に対応せず、Linux版 Sublime Text に至ってはそもそも日本語入力に対応していない。一応プラグインで対応可能であるらしいが、Mac版 Sublime Text は文句なしのできなのに対してかなり残念である。

Mac版だけであれば Sublime Text の圧勝であったが、Windows版とLinux版でかなりの減点になったため、 **Atom** の繰り上げ勝利となる。 Atom は他のライバル達とは違い、未確定状態が分かるようになっている。しかし、変換途中の文節選択部分と未選択部分区別ができない所だけが残念だ。 Brackets と Light Table は未確定状態が確定状態と見分けが付かず、インライン入力のせいで逆に分かりにくいになってしまっている。

## ラウンド2 日本語フォント

全てのOSで綺麗なフォントになる **Brackets** の勝利だ。 Sublime Text は次点となるが、デフォルトでも問題が無いフォントが自動で使われる。

Windows版 Atom とWindows版 Light Table は標準で中国語のフォントが選ばれてしまう。もともとは同じ文字だったので、読めないことはないし、フォントも設定で変えられるとはいえ、大きなマイナスだ。

## ラウンド3 メニューと設定項目の日本語化

圧倒的に **Brackets** の勝利である。唯一、デフォルト状態でメニューと設項目定が日本語になっている。

次点の Sublime Text はプラグインをいれれば日本語化されるが、手間がかかる。 Atom にもメニュー日本語化のプラグインはあるが、Macにしか対応していないし、設定項目は日本語化されない。 Light Table は日本語化する方法が見つけられなかった。

## ラウンド4 日本語の折り返し

日本語文字(漢字、平仮名等)はASCII文字2個分の幅を持つ。また、日本語文字の前後は通常どこでも改行しても良いが「、」等が行頭にこないなどの禁則処理が必要になる。ここでは **Brackets** と **Light Table** の同時勝利だ。この二つは折り返しも文字幅を考慮しており、また、禁則処理も問題なく行う。

Sublime Text は折り返しは問題ないが、日本語文字もASCII文字と区別無く処理してしまっている。日本語文字の間は改行されず、また、禁則処理も考慮されていない。

Atom はさらにひどい。日本語文字もASCII文字1個としてしまうため、はみ出してしまう。日本語の折り返しを何とかしてくれるプラグイン[^3]をいれればまともになるが、その時点で大きく出遅れていると言える。

[^3]: というより、作った。

## ラウンド5 全角空白表示

日本語環境において、プログラマの最大の敵は何か？と問われれば、全角空白(U+3000 IDEOGRAPHIC SPACE)だろう。こいつは、目には見えず、半角空白2個分に擬態し、コンパイルエラー等を誘発する。そこで、日本語を考慮したエディタやIDEには全角空白を目に見えるようにする機能が備わっている。

残念ながら、今回の4者はデフォルトでこの機能を持つものはいなかった。**Atom**、**Brackets**、**Sublime Text** の三つはプラグイン[^4]で表示が可能になる。 Light Table については見つけられなかった。

[^4]: Atom のはなかったんで、これも作った。

## ラウンド6 日本語環境総合優勝

全てに勝利するようなアプリは無かったが、今回は総合優勝は **Brackets** に与えたい。日本語入力に多少難はあるとはいえ、メニューや設定項目がデフォルトで日本語化されているのが大きい。プログラマとして生きていくのであれば、英語は避けて通れないのだが、残念なことにメニューが英語というだけで避けてしまう人が多いのが現状だ。だが、 Brackets ならその心配も無く、プログラマでは無い普通の人にも勧められる。

## 蛇足な補足

さて、日本語環境としては Brackets の勝利に終わった。日本という特殊な環境でも勝利を収めたのは、日本にも支部がある Adobe がセコンドに付いていたことが大きいだろう。だが、どのソフトも普通に日本語を使うことはできるので、あまり、日本語対応というところは気にせずに使ってみてはどうだろうか？

じゃ、なぜこんな記事を書いたのかって？そりゃ、自画自賛するために、 Atom のぷらｇ・・・うわ、なにをする、うがー

## 第二回開催決定

1.0になった Atom、最強との噂の Lime Text の参戦、そして巨人 MS から最強の刺客。わずか数ヶ月で目まぐるしく変化するこの世界、果たして日本王者 Brackets は防衛できるのか？Windows 10 という新たな舞台でのそれぞれの実力は？

結果はこちら [第2回 Qiita プライド](http://qiita.com/raccy/items/50c176d0458e0c686970)