Linuxをデスクトップとして使うためのナレッジ - エディタ

Linuxで使えるエディタ

ここでは日常的に使うことになるであろう、エディタの紹介をします。

エディタとはそもそも何なのか

哲学的なことを書くつもりはありませんが、その垣根は曖昧と言えます。一般家庭でWindowsを使う人は真っ先にメモ帳をイメージするでしょうが、ではプロフェッショナルであるITエンジニアはどうかというとこう言います。
「メモ帳がエディタとか、そんなの小学生までだよね」
扱う人によって、エディタの意味合いが異なるということですね。

ここで紹介するエディタ

このページで紹介するエディタは、Linuxで大衆的と言えるものです。この2つが扱えれば、ある日突然Linuxを触ることになっても困らない...そんなエディタを紹介します。Windowsのメモ帳と比較すると、Linuxのエディタは非常に高機能です。遥か昔から検索と置換機能はありましたし、更に言えばキーボードにカーソルキーが無くても何の問題もなく使えます。
どちらのエディタもX Window System上で起動することができるので、コマンドライン操作が苦手な人やマウスを使いたい人はそちらを利用しましょう。

エディタ紹介

vi

viは、あらゆるディストリビューションでほぼ必ずインストールされる標準エディタです。何かトラブルがあってLinuxがランレベル2以下(Windowsで言うならセーフモードすら立ち上がらないトラブル状態なイメージ)で起動しても、問題なく動作してくれる優れもの。そのせいもあり、ITエンジニアがサーバで作業する場合はviが基本なのです。
viの凄いところ
  • OSがトラブって色々なソフトが動かなくなっても、それでも動く
  • 非常にシンプルな作りだが、Windowsのメモ帳なんか比にならないほど高機能
viの辛いところ
  • コマンドモードと入力モードに分かれており、最初は物凄く使い辛い
  • 確かに高機能だが、emacsのように高度な拡張はできない

emacs

emacsもあらゆるディストリビューションで使用可能ですが、標準ではインストールされないことが多いエディタです。特筆すべきはその凄まじいまでの拡張性にあり、emacs lispというプログラム言語で様々な機能を誰でも作ってしまうことができるのです。様々な機能というのは、例えばメールを閲覧したり(エディタなのに)、2chを見たり(エディタなのに)、計算できたり(エディタry)するという。
emacsの凄いところ
  • emacs lispによる凄まじいまでの拡張性
  • viとは異なり、コマンドモードと入力モードに分かれたりはしていない(がコマンド入力方法もある)
emacsの辛いところ
  • ランレベル2以下の、ファイルシステムパスが通らない状態だと起動できないことがある
  • viよりは動作が重い

atom

emacsやviは古くからある伝統的なエディタですが、そんなエディタでも時代によって新しく出現するものが当然あります。それこそOS、ゲーム、写真編集、動画編集ソフトのように。atomは2017年時点でほぼ最新世代のエディタであり、githubという組織が開発を行っているものです。
atomの凄いところ
  • 拡張はパッケージをインストールするだけで比較的簡単にできる
  • みんなが希望する拡張機能はほとんど誰かが作ってくれている
  • 特にプログラムやWebページのコーディングについて極めて高い適性を誇る(そう作られている)
atomの辛いところ
  • X Window Systemが動作しない状態では多分動かない
  • デフォルトインストールでも起動がもたつく程度には重い

(ハイレベル)ed/sed

マニアというか、ハイレベルなものがedとsedです。どちらかというとエンジニア向けです。かつては上記のようなviやemacsなんていうものは無く、コマンドラインで1行1行表示と置換、追記を繰り返して編集していたそうです。その時代に活躍していたのがedやsedですが、エンジニアは今でも使っています。正規表現を身につけないと極めて使い辛いため、「そんなものあるんだな」程度でOKです。
ed/sedの凄いところ
  • viと同じでLinux標準インストールされ、ランレベル2以下でも平気で動く
  • 入力ファイルの特定文字列の一部分だけを置換、あるいは抽出して表示させることができる
ed/sedの辛いところ
  • 日常的なテキスト編集には100%向かない
  • 正規表現をきちんと覚えないと、いちいち時間がかかる

結局どれがいいのか?

エディタとは、宗教であるとされています。実際問題としてemacsとviの利用者は常にお互い睨みをきかせていて…。ネタではなく、本当にemacs/vi論争というのは昔から続いてきたのです。ただ、設計思想も開発事情も異なるため当然特徴も全然異なります。そんなものを比較してどうするんでしょうか…
ということで、デスクトップで使うエディタは自分の好みがベストです。このページで挙げているのはあくまで有名どころであり、他にもnanoとかKeditとか色々あります。試してみて、拡張機能もついでに触ってみて、自分にとって使いやすいものを選びましょう。