スポンサーリンク

Sublime Text2とCoda2の日本語を含むテキストの選択がイマイチで困ります

はじめに

最初は、Sublime Text2をやめてCoda2に絞るという内容を書こうとしたのですが、色々と調べた結果、結局Sublime Text2とCoda2の併用になりました。なので、話がおかしい部分が多々ありますが気にしないでください。

Sublime Text2がどうにも合わない

コーディングのみ、かつ日本語を使わないユーザにとっては、Sublime Textは素晴らしいエディタだと思います。ただ、メモでも何でもこれ一つで対応したい私のようなユーザにとっては、日本語に弱い部分がずーっと気になっていました。

気になるのはテキストの選択範囲がマルチバイト文字を考慮されていないということです。日本語が含まれるテキストをマウスでクリックすると、一行まるまる選択されてしまいます。あまりマウスを使わないので、我慢できないことはありません。ただ、「Option+Shift+カーソルキー(アローキー)」で単語単位(品詞)に選択ができません。これまたゴリッと行端まで選択されてしまいます。みなさんどうしているのでしょうか?

キーリピート間隔を短くしてもいいのですが、正確に選択するのは職人技ですね。慣れるまで面倒そうです。そんなこんなで、削除や単語のみ修正する時にまるっと文章を飛ばすこともあります。「Control+W」も効かないですね、行頭までサクッと消えてしまいます。

Sublime Text3を試してみたのですが、まぁ当然というか同じです。

これが原因なのか、例えば長めの日本語文に「Sublime Text」のように半角スペースを含む英単語が含まれると、ワードラップが変な場所で実行され、見た目が酷いことになります。

Coda2も一緒だった

そんなこんなで、まだ日本語対応がよさそうなCoda2にしようと思い、久しぶりに使ってみると・・・一緒でした。できていた気がしたのですが、記憶違いでした。

といっても、マウスでの選択は単語単位で選択されます。キーボード操作「Option+Shift+カーソルキー(アローキー)」だとモリッと選択されてしまいます。

そういうわけで、結局どっちもどっち、そういう操作には対応していないことが分かりました。

原因は?

詳しくは調べていませんが、Sublime Textは形態素解析の処理が全く入ってないのかなと思います。ただ、Codaについては、マウスなら選択できているので、処理は入っているはずですが、なぜかカーソル操作では無効になります。CodaはCocoa(たぶん)なので、普通に作れば何もせずとも機能するはずですが、エディタ部分をかなり拡張しているのかなぁと思います。

他のエディタはどうなの?

そんなに多くのエディタを使っていないのですが、幾つか調べてみました。デフォルトのままなので、設定があるのかもしれません。

PHPStorm
デフォルトだと句読点で区切れます。といっても、PHPStormhではあまり日本語を入力することがないので気にならないです。
Espresso
マウスでもキーボードでも期待通りの動作です。軽いしタグナビゲータが素晴らしいですね。ただ、SDIなのがちょっと・・・
CotEditor
期待通りの動きです。ちょっとしたテキストを編集するときに使っています。
テキストエディット
標準アプリです。もちろん機能します。
Microsoft Word
より正確に品詞ごとに選択されます。利用している形態素解析の差なのでしょう。

アプリによって様々です。UIだけ日本語にローカライズされていて、中身はそのままというのが殆どでしょう。

結局どうする

Sublime Textに「word_separators」という設定があるので、どうにかできないかなと思いましたが、これって正規表現ではないのですね。一瞬勘違いしました。ここに入っている文字で区切りますよ、ということです。

仕方がないので、適当にバランスを確認しながら全角の句読点や括弧などを追加しておきました。まぁ、ゴリッと一行選択されるよりはましです。

Coda2に移行しよと思いましたが、日本語の処理についてはどっちもどっちだったので結局Sublime Textに戻っています。

おわりに

Sublime Textばかり使っていて、久しぶりにCodaを使うと重いですね。といっても、Codaは標準で多機能なので単純に比べてもダメですけど。

Codaをアップデートしたのですが、外部ツールでのコンパイル(sassとかmarkdownとか)が内蔵プレビューに反映されない仕様は変わっていませんでした。手動でリロードしても更新されないので、webkitの仕様なのかな?忘れた頃に更新されますが、HTMLをダイレクトに編集するとき以外は、プレビュー機能がないのとおなじですね。

Macの仕様なのか、それともPanicの癖なのか、ファイルシステムとの同期がとれていないことが多々あります。Finderで削除しても、Codaでは表示されたままになったり、これはTransmitでも似たようなことが起きてるので、どうなんでしょうね。長い間修正されないのでOSの仕様なのでしょうか。

Codaのプレビューについては、gruntのlivereloadで幸せになれます。環境を整えるのが面倒ならFirefoxアドオンのAutoReloadもなかなかお手軽でオススメです。