EmEditorではなく秀丸エディタを使う理由

この内容は個人の見解であり、事実と異なる場合もありますのでよろしこ。

一昔前の日本であれば、Windowsでのテキストエディターの選択肢として、秀丸エディタ、EmEditor、MIFES、WZEditorの派閥が有り、無料派閥としてサクラエディタ、TeraPad派とも競り合っていた。

だが現在の状況を見ると、WZEditorは強調表示やら何やら、わけのわからない機能拡充でテキストエディタとしての存在が薄れている。MIFESは堅実にテキストエディタとしての機能を守っているが、最新版のMIFES10.3の公開から2年半が経過している。テキストエディタとして安定していれば根本的な機能拡充は必要ないが、バグフィックスがされているのかは不安に思うだろう。そして、MIFES10の公開から5年以上経過しているが、未だにその新機能として「言語ごとの設定が可能」、「XMLモードの搭載」、「ウィンドウの分割表示に対応」と言われても、今を生きる若者からすると「ハァ?」という感じだろう。
そんな機能は当然であり、メモ帳じゃ無いんだから無いほうがおかしいとも思える。そんなテキストエディタを新たに15000円近く出して購入するだろうか。Emacsまではいかないが、一般(Emacsを特殊と考えた意味での一般)のテキストエディタもマクロは知の共有として公開されているのだから、利用者が少なければマクロの公開数も、マクロの情報も、そもそもテキストエディタの情報も少ない。そして、ユーザが少なければバグの連絡も少なく、バグフィックスも少ないだろう。と、考えて、MIFESもフェードアウトしていくように思う。

今の時代、もっと高機能なテキストエディタが無料で公開されているのに、高額な費用を払って購入するテキストエディタは何かしらの優位性がなければ購入のチャンスすら無い。

世間ではVisualStudioCodeやAtom editorやら、無料で高機能なエディタが公開されている。最近のプログラマはこれらのエディタから始めれば間違いないし、設定方法も多く公開されているので困ることはまず無い。
だが逆に、これらのテキストエディタはプログラマをターゲットとしたエディタであるため、設定をJavaScriptで書くという暴力的な設計であったり、テキストエディタとしては不要なターミナル機能やデバッグ機能、バージョン管理機能等、テキストエディタで日記を書こうとしている人には全く無意味で使い道のわからない、クリックすると恐怖に陥る機能が全面に押し出されている。
この状況であれば、テキストエディタとしての機能に重点を置くことで有料だとしても、プログラミング向けテキストエディタに比べて優位性は有るだろう。

実際、MIFESにしても、EmEditorにしても、秀丸エディタにしても、CSVの編集モード等、VSCodeやAtomでは自分でコードを書いて自動で処理しろという機能が拡充しており、その使用レビューの投稿も多い。私も秀丸エディタでCSVの編集をすることが稀にあり、同僚がエクセルでCSVと格闘していたときには、秀丸エディタで楽に確実に処理してみせた。
CSVの処理はテキストエディタの機能としては付加機能になるが、テキストを処理するためのエディタと考えれば、デバッグ機能よりはテキストエディタとして全うな機能ではないだろうか。

そのCSV処理を扱うには、秀丸エディタよりもEmEditorの方が機能が多く優れているのだが、私は秀丸エディタを利用する。

ここからが本題。

先に紹介したテキストエディタで、時代遅れとしていないのが秀丸エディタとEmEditorになる。双方ともに現在もバージョンアップが行われている。
二つのエディタを比べると、秀丸エディタは愚直にテキストエディタとしての機能を守り、拡充しつつ、新しいOSの機能への対応を進めている。そのため、ベータ版こそ数日起きに出ることが有るが、安定版は年に数回の頻度でしか公開されない。それに引き換えEmEditorは月に何度もマイナーバージョンが上がることが有り、その度に新機能やら新しいマクロの関数やら、既存処理の高速化が図られている。

この紹介文からするとEmEditorの方が良いと考えるかもしれないが、私の考えとして、テキストエディタは何より確実性と安定性が重要だ。CSV編集機能のような付加機能があるに越したことはないが、機能があったところでバグだらけでは使えない。

テキストエディタでプログラムを書き、リファクタリングとして関数名を変更したいとする(プログラマ向けのエディタであれば、関数のRenameが機能として存在するが)。そのために置換処理を行うと、ある特定の条件で関数名が正しく置換されなかったらどうだろうか。致命的に分かりづらいバグを埋め込むことになる。
プログラムでなくても、CSVで特定の文字列を変換するにしても同じだ。誤った文字列に変換されてしまうと、それが数万行以上のテキストであれば事実上発見は不可能だ。なんせ、誤った文字列は置換前の文字列、置換後の文字列で検索してもヒットしない。

これが確実性である。自分が指示した命令が正しく実行され、正しく結果が返る。

安定性は言わずもがな。テキストを入力している最中に固まったり、保存時にクラッシュしては困るだろう。
それは最低限の機能と思うかもしれないが、RedHatLinux 8.0 Personalを購入した際に、geditでテキストを保存しようとすると毎回クラッシュするという問題があった。どのような動作確認をしていたのかは甚だ疑問であるが、クラッシュするというのは問題外である。

このように最低限、確実性と安定性があればよいのだが、EmEditorの改版履歴を見ているとどうもその用件を満たせていないように感じている。
リリース前にベータ版も公開されているのだが、マイナーバージョンアップが公開されると、そのマイナーバージョンアップ時に追加された機能によるバグが報告され、次のバージョンで修正されると言うのを多々見る。
EmEditorは機能追加だけではなく、現在の機能をリファクタリングし、例えば置換処理を高速化するような修正も頻繁に入るが、その度に、その置換処理でバグが入ってしまっている。これでは確実性があるとは言えない。
バグ報告があり、それが修正されるのも非常にスムーズであるのだが、実際の業務データを加工している最中にそのバグが自分にヒットし、バグが修正される前に納品してしまったのでは遅い。また、そのバグが自分の処理に当てはまるのかどうかもわからない。

趣味で使うデータ加工であれば誤って処理されても後から修正をいれればよいが、業務で使うとなると、提出、納品後では手遅れである。先に話題に出した同僚のCSV加工に関しては、そのCSVの結果が、毎月1億円近い金額の請求データになるので、謝って請求してしまっては支払いの停止に繋がってしまう。

そんなシビアなデータにはEmEditorを使おうとは思えない。なので、現在のところ秀丸エディタを利用している。

画像1

もう一点秀丸エディタを使う理由をあげるとすれば、EmEditorのインストールを行えばわかると思うが、インストール直後からツールバーが5行も有り、機能がてんこ盛り。「こんな機能もあるよぉ~!!」というアピールかもしれないが、アイコンを見ても何をするためのボタンなのかわからず、逆に、やりたい処理にどのボタンを押せばよいかもわからない。
これでは、定例的な作業をするのにも説明をするのが面倒であり、押し間違い等のミスに繋がる。秀丸エディタのように、最低限の機能のみをツールバーに配置し、自分が利用するボタンは自分で追加するようにリフレッシュすると使いやすいだろう。

EmEditorがリリース前のテストに力をいれ、機能をリフレッシュし、UIを修正してくれれば、私もEmEditorをもう一度使うかもしれない。
テキストエディタは一度使い始めると、特段な理由がない限り乗り換えたりしないので、試用時に使いやすいと思えるということが重要になる。逆に、一度でも不自由に感じると、そのテキストエディタを定期的に試用はしない。


このテキストはWindows版のEmacsでhowmを使い、記述している。

いいなと思ったら応援しよう!