2018年11月8日プログラミングを始めるとき、転職をしたとき、恋人に振られて気分を変えたいとき、人はエディタ難民になるといいます。(冗談です)エディタの話になるとあーでもないこーでもない言う人がわんさか現れますが、何を隠そう私ユージンもその中の一人です。私はもう長いことずーっとEmacsを使っています。いわゆるEmacsenを使うEmacserです。※Emacsenとは、Emacsの派生系を意味します。Emacs一筋といえど、何回もエディタを変えようとしたことがあります。Emacsはオワコンと言われたりもしますし、他のエディタを触ってみて「うは!めっちゃ便利じゃん」とテンションが上がったこともあります。それでも私がEmacsを使う理由、そしてそれ以外のエディタの何が秀でていて、何がEmacsと比べて足りないかを改めてここに書き記そうと思います。掲題してみましたが、これは一言で済む話です。「キーバインドに慣れているから」これがほぼすべてです。キーバインドとは、カーソルの移動から内蔵機能の利用、さらにはショートカットまでを制御するためのキーの組み合わせを指します。Emacsを使う者の宿命、それは左の小指もはや揶揄される理由の一つですが、Emacsのキーバインドは左手小指をよく使います。人生で最も使わない指と呼ばれるパターンもあるようですが、Emacsユーザーは左手の小指に神経の9割を注いでいるわけです。おかげさまで、私の小指も今となっては一番正確にCapsLockのキーを叩けるようにカスタマイズされました。Ctrl”に変えてあります。Professional(有線版)の無刻印ですが、これはあらかじめCtrlの位置がEmacsユーザー向きになっていて、そういうところにうっとりするほどです。Emacsを使っていることによってマニアックな部分に興奮するようになるのです。エディタ全体を掌握する快感Emacsのいいところは、そのカスタマイズ性の高さにあります。Elispと呼ばれるLisp言語のEmacsフォーマットを使うことで機能拡張ができるようになっており、歴史が長いおかげでパッケージの数も膨大な量が提供されています。「これをエディタ上で表現したいんだけど......」といった妄想はほぼすべて実現すると思って大丈夫です。Emacs上でTwitterもできるしEvernoteへノートを書くこともできます。ブラウジングもできればゲームもできる。Emacsはエディタではなく環境だ、と誰もが話しますがまさにそのとおりです。自分の世界を構築することに快感を覚える方、自身の手の届く範囲はすべて掌握していたいという方には強くオススメできます。LinuxでもWindowsでもMacでも使えるエディタいわゆるクロスプラットフォームと呼ばれるタイプのエディタです。仕事環境に変更があったときに、OS互換の違いから使えないアプリができるのは仕方のないことですが、日常的によく使うテキストエディタはできる限り同じモノでありたいところ。考えると、クロスプラットフォームなテキストエディタを選択することは賢い選択と言えるでしょう。歴史と多くのユーザーに支えられたエディタ界の大御所Vimは言わずとしれたテキストエディタの代表格です。Moolenaar氏によって開発されたviの拡張エディタとなっています。imporvedより)CUI(コマンドユーザーインターフェース)でもGUI(グラフィカルユーザーインターフェース)でも使うことができるおかげで、プログラミング初心者からベテランまで多数の利用者がいます。独自のキーボード操作を必要とするのはEmacsと同じですが、viベースということもあってEmacsよりもよく使うキーバインドになっています。viとの大きな違いはそのカスタマイズ性にあり、自身で書き記した設定ファイルによって自分好みのエディタへ昇華することが可能です。キーボードのホームポジションからあまり手を動かさずに済むおかげで、マウス要らずの集中できる環境を実現できます。デフォルトで搭載されたOSもかなり多いので、わざわざダウンロードしてビルドする手間が省けます。ちなみに私がVimとEmacsで悩んだとき、周りはほとんどVimユーザー(Vimmer)でした。「他人と違うモノ使っている自分かっけー」「アイコンがEmacsのほうがかっこよくね?」というのがEmacsを選んだ理由です。Vimの派生で素早い新機能アップデートNeovimは、Vimをフォークした派生版Vimです。本家Vimとの違いを説明するより先に、Neovimの誕生を説明すると「Vimの古いコードはメンテが大変だからアグレッシブにアップデートできる奴作ろうぜ!」ってことで始まったプロジェクトです。最優先されているのがその拡張性で、より多くの機能を搭載できるようにと開発されています。Neovimの素晴らしきUI拡張Nyaovimは先述したNeovimをElectron(Web技術によってアプリケーションを作れる環境)ベースにUI拡張可能にしたフロントエンドソフトウェアです。Electron自体が2013年に初リリースされたこともあり、イマドキの開発環境に対してかなり快適な使い心地になります。Linux)で動くとなっています。Neovimを選択するのであれば、ぜひ一緒に使って感動していただきたい一品です。Github謹製の高機能無料エディタAtomはGitHubが開発する無料のテキストエディタです。無料による導入ハードルの低さ、そのわりに多機能で開発に十分なスペックでここ数年で人気エディタの仲間入りを果たしました。デフォルトでも多くの言語対応と機能を備えているものの、パッケージと呼ばれる拡張機能も充実しています。パッケージはapmと呼ばれるパッケージ管理システムで即座に導入、適応させることができるのも長所の一つです。無料で高機能なエディタが使いたい、という人は選択肢に入れてみてください。一つだけ短所をあげると、ちょっと動作が重いです。4(ST4と略されることもあります)はPython製のクロスプラットフォームテキストエディタです。そのヌルヌルサクサクで軽快な使い心地により、登場した当時から長い間のこと人気を集めています。デフォルトでも相当使い勝手がよくなっていますが、プラグインを導入することによってさらに最強エディタ化できます。置換や検索といった基本機能の動作が軽快なのでストレスフリーな開発環境をお求めの人にオススメです。個人的にはGOTOと呼ばれる他ファイルや定義にジャンプする機能がデフォルトで存在しており、高速で動くことに魅力を感じます。矩形選択や複数選択など、「これがやりたいんだけど......」はしっかり網羅されていると思います。2018年11月現在は$80となっておりちょっとお高めです。Codeと略します)は、Microsoftが提供する高機能テキストエディタです。IDE(統合開発環境)チックな機能が搭載されているおかげでダウンロードしてすぐにプロジェクトに参加できます。InteliSenseと呼ばれるシンタックスハイライトとオートコンプリートを提供する機能が優秀で、備え付けのコンソールからデバッグもすぐできます。Code上で完結できます。他のエディタと比べて「さすがMS製だなぁ」と思えるところが多いので、自分でカスタマイズしたい!というより最初からいい感じに使えればそれでいい(しかも無料がいい!)という人にオススメのエディタです。Systemsが開発している無料のテキストエディタです。JavaScriptのを編集することに特化している珍しいWebフロントエンド寄りのモノとなっております。Webデザイナーで「普段はマークアップまで。JSもたまには触るけど」という人にとってはちょうどいいかもしれません。JSで作られています。特徴的な機能として、「クイック編集」というHTMLから即座に適応されているCSSを編集できる機能やライブビューによるプレビュー機能、さらには画像のサムネイル表示による確認ができるなど、マークアップする人にとって嬉しい機能てんこ盛りです。CSSマークアップやJSによる制御が多いという人は一度お試しで体感してみると良いでしょう。私の伴侶もはや言わずもがな。私にとっては相棒であり恋人であり脳と左手小指をつなぐ架け橋です。私情が入り込みすぎるので、Emacsについては冷静に比較できないため冒頭のEmacs愛をご覧ください。宇宙を感じるEmacsの派生版Spacemacs(スペースマックスと読みます)はEmacsの派生です。何が違うといえば、キーバインドにおいてスペースが大きな意味を持つようになったということです。思った以上に大活躍することもなかなかエグいです。VimのコマンドとEmacsのコマンドを行き来するときに使います。VimのコマンドとEmacsのコマンド!?そこで驚いたあなたは正解です。Vimの使い心地とEmacsの使い心地を同居させた上で、さらに使いやすさを追求したのがSpacemacsなのです。正直なところ、一回浮気しました。大事な伴侶からSpacemacsへと鞍替えしようとしたのです。私は心から後悔し本家Emacsへと踵を返したのです。EmacserにとってDevilか救世主かEvilはもはや邪道とも言えますが、Emacs上でVim操作を可能にするモノです。テキストエディタではありませんが、Emacsの使い勝手をVim寄りにすることができるので掲載しておきます。これを機にVimmerの方がEmacsにも興味を持っていただければ嬉しいです。Windowsで使えるエディタMicrosoftのWindowsで使えるテキストエディタを紹介します。私は普段Macユーザーではありますが、時々案件によってはWindows縛りになるときがあったり、もはやテキストエディタすら指定される場合があります。(非ITな大企業ではよくあるみたいです)そういった案件を扱う際にはViを使うこともありましたが、Windows専用機をサブPCとしてそちらでWindows専用テキストエディタの使い心地を調べたことがあるので、そのときに調べたテキストエディタ群を紹介します。有名なのはこのサクラエディタではないでしょうか。フリーウェアとして配布されている上に、コード補完・フォーマット(整形)・マクロ(!?)が備えられています。マクロはExcelマスターな人からすれば「逆にマクロできないなんてレベル低くない?」と思うかもしれません。Windowsのテキストエディタを何か試してみよう、という際の最初の選択肢としては間違いありません。高速・高機能な和製エディタ次いでWindows系テキストエディタで有名なのは秀丸エディタでしょう。シェアウェアとなっていますが(2018年11月現在で税込み¥4,320)、その高速・軽快な動作から人気を博しています。最大1,000万行のファイルを開ける、REDOができる、正規表現検索やあいまい検索に対応、複数ファイルをまたがっての検索(grep)にも対応、文字コード互換も有りと、日本のソフトウェア業界においておよそ使うであろう機能は網羅しています。Windowsはほとんど使わないといえどなんだかんだ安心感と信頼から、Windowsで開発を行う際には使って欲しい一品です。懐かしさゆえに入れてみましたが、正直なところ現在のエディタ界隈からしたら完全に時代遅れなテキストエディタ・TeraPadの紹介です。2012年で更新が止まっていることもそうですが、機能としてもイマドキだと「あって当然でしょ」という機能しかありません。実は昔、まだ会社員時代に勤めていた会社でTeraPadを使う機会がありました。そのときはまだTeraPadユーザーがちょくちょくいた頃でした。あの頃のことを思い出しつつ、一つのソフトウェアの終焉を見たような気持ちになります。世界中にファンを持つ和製ハイエンドEmEditorも秀丸エディタと同等レベルの機能を持つハイエンドテキストエディタです。さまざまな国の言語で翻訳されているため、世界中に多くのユーザーがいるようです。Windowsのテキストエディタのなかでは高速な動作をすることもあって、Windows系プログラマには一定の人気を長いこと保持し続けています。マークアップコーディングレベルからデータベースエンジニアが扱うような巨大ファイルまで扱うことができるおかげでユーザーを選びません。UI(ユーザーインターフェース)もカスタマイズできたりワークスペースを記憶できたりと、今のエディタに必要な機能を持ちつつ、Windows系エディタにとって本命とも言えるマクロや文字コードへの高い互換性があります。そこまでいくとさぞお高いんでしょ?と思いますが......正直かなり高いです。年間サブスクリプションで¥4,800(2年目以降半額)、買い切りだと¥18,000です。テキストエディタにしては高額な部類に入るため、けっこうな勇気が必要かもしれません。Freeという無料版もあって、機能制限こそされるものの、EmEditorの良さをすぐに体感することができます。正式版が出た新星Meryは2018年4月に正式版がリリースさればかりの無料のテキストエディタです。正式版が公開されて間もないのですが、調べてみるとけっこう使われているようでベータ版の頃からの人気がうかがい知れます。※どうやら2011年、2012年と表彰されているようなのでけっこう昔からあるのかもしれません。基本概念はシンプルであること、と公式サイトに書いてあるくらいで、初心者にとってもわかりやすい設計思想なのだと見てわかります。いったユーザーフレンドリーなエディタはプログラミング初心者にとって非常に導入しやすくて素晴らしいと思います。カラー絵文字、縦書き機能やマーカーなど、マクロなどのような標準的機能に加えてアグレッシブでチャーミングな機能を搭載していることから開発者の方が本当にいいものを作ろうとした雰囲気もまた素敵です。今までメモ帳でいろいろ書いてきたことはあるけどプログラミングにトライしてみたいという方は一度手にとってみると良さそうです。Macで使えるエディタAppleのMacはUNIXというLinux系のOSベースのおかげで、Linux互換のあるエディタはほとんど使えます。クロスプラットフォーム系のテキストエディタで紹介したものがほとんどのようにも思えますが、Mac専用のテキストエディタアプリもいくつかあるのでご紹介します。MacアプリはOSが表現するUIの美しさを踏襲しようとしているアプリが多いので、見やすかったりわかりやすさという点でかなり優秀なモノが多いです。これからMacでバリバリ開発したい!でもまだ何を使っていいかよくわからない!という人にとって導入しやすい製品が多いので、以下で紹介するテキストエディタを是非使ってみてください。2はTransmitという有名な高速FTPクライアントを開発しているPanicが販売している有償テキストエディタです。Macにおける使いやすさではトップクラスだと思います。Barもいち早く対応し、Macとの親和性はバツグンです。1からアップグレードされたCodaは高速化はもちろんのこと、定義したメソッドなどのインデックス化や優秀なプレビュー機能などの改良点がたくさんあります。保存してすぐに公開する機能やサーバー・ローカル間において同期を取ることもできるので(このあたりはさすがTransmitの会社だと思います)、シームレスかつダイナミックな開発環境を構築できます。ファイルを編集してFTPでそれをアップロードして、という手間をなくすことが可能です。見た目的にはなんとなくかわいらしさのあるCoda2はフロントエンド開発者やWordPressテーマの開発者に人気のようです。優しさとミニマリズムの共生CotEditorもまた、私の思い出に残るエディタなのでぜひ知ってほしいエディタの一つです。一言で言えば「優しいエディタ」、これに尽きます。高機能とは言い難いですが、オープンソースでじわじわと開発が続けられており、シンタックスハイライトやアウトライン、マクロなど軽めのプログラミングであれば何の問題もありません。ソフトウェアとして軽量なおかげで起動も瞬時にする上に、検索機能は意外としっかりしています。Macを使い始めた頃に無料かつ日本語を打ちやすいエディタを探していて出会ったテキストエディタで、まだ駆け出しのマークアップエンジニアだった私はCotEditorとしばらく手をつないで歩いていました。今でも開発が続いていることを知ってほっこりした気分です。私がそうであったように、Macビギナーの人にも扱いやすさが際立っているテキストエディタです。愛らしさの上に成り立つ多機能エディタMiもまた、CotEditorと同じようにシンプルかつ愛らしい無料のMac専用テキストエディタです。その歴史は深く1996年頃からあるようです。(当時はミミカキエディットという名前のおかげで今でもミミカキの愛称が使われることがあります)何気にカスタマイズ性に富んでいて、マクロ機能もあればリモートファイル編集もできるという優秀なミミカキです。小説執筆が趣味の方には嬉しいことに縦書きにも対応しています。これは日本発エディタならではの機能ですね。それとこれが意外に便利ですが、ファイル比較機能もあります。左右のペインに並べてどこが変更箇所かをわかりやすく表示する、まるでGit的な機能です。これによって修正箇所をリバート(元の状態に戻す)したいときには、バックアップと比較することですばやく修正することができます。Gitの使い方を学べばラクにできることかもしれませんが、Gitで管理されていないプロジェクトやちょっとしたサイトの修正にはもってこいです。Linuxを触ったり、Debianで開発をしてみたりしていたおかげで意外と使えるというのがわかりました。そこでLinuxで開発をする、ちょっとしたスクリプトを書く、というときにどのテキストエディタを使うべきかということをいろいろ実験してみた結果について書きます。結論からいうと、やはり使い慣れたEmacsに戻りました(笑)viやnanoというデフォルトで入っているエディタを最初は使っていたのですが、最初は小さなスクリプトの実行だけが「もっと速く書かなければ」という謎の使命感からEmacsに戻った形です。Linuxというだけでパソコンのプロが使うものでしょ?という認識のある人が周りには多いですが、UbuntuやFedoraのようなGUIが素敵なOSもあるので、人とちょっと変わったOSで開発がしたいという人は導入を考えると良いかもしれません。WindowsでもMacでも、Linuxをデュアルブートしたり仮想環境で使ったりする方法があり、環境を汚さずお試しすることもできます。ここには歴史がある今のすべてのテキストエディタの源流とも呼べるほどに歴史が深く1976年から存在するテキストエディタの中のテキストエディタであるVi。当時マウスが普及していなかったこともあって、マウスを使わない操作方法と、カーソルすら使わないポインタの移動手段によって、今ではほとんどメインで使われることはなくなりました。Linux上では100%とも言っていいほどの確率でプリインストールされているので、わざわざ他のソフトウェアをインストールしたくない、セキュリティレギュレーション的に他のソフトウェアはNGという場面では大活躍します。使い方は独特ではありますが、VimがViから派生したものであることを考えると、それほどとっつきにくいモノでもありません。逆にViの使い方さえわかれば、サーバー上の作業はぐっとラクになります。必要に迫られないとなかなか使い方を覚える気にならないエディタではありますが、もし一歩進んでサーバー管理したい、という場合には覚えておいて損はありません。隠れているようで実は重鎮もはや若い人はその存在すら知らないことが増えてきたpicoの紹介です。これはメールの編集用としてUNIX系OSに組み込まれているテキストエディタで、機能はEmacsやVimと比べたらかなり少ないです。その操作方法は上記のエディタよりもずっとカンタンなので、もしもLinux上で編集作業が必要というときには選択肢として持っておいてもいいかもしれません。Viがあれば事足りる場合がほとんどなので、もはや使っている人はかなり尖った根性を持っている人という認識です。実は根強いファンがいるらしいNanoは先述のpicoクローンなのですが、こちらもまた同じで機能こそ多くないものの、デフォルトでOSに含まれていることが多いため、多くの環境で利用することができます。picoよりは体感的に動作が速い気もしますが、あまり使わないのでその価値に気づいていないだけなのかもしれません。アップデートもちょいちょいされており、undoやredoなども使えるので意外と使える子なのかな?とも思いますが、さすがにこれをメインのエディタにするほど勇気が出ません。他の人にもあえて勧めたりすることはありません。「なんじゃこりゃ!」と思いながら一回使ってみて、もしメインにしようと思った人がいたらぜひ理由を教えてください。今までさまざまなプラットフォームのエディタを紹介してきましたが、クロスプラットフォームのエディタを選ぶほうが良い、というのが私の意見です。プラットフォームが代わることによってエディタも刷新しなければいけないというのはタイムロスが激しいからという理由があります。whereverというデジタルノマド的思想のもとで考えると、たとえMacを携帯できないような状況に陥っても、代替のPCが何かしらあれば作業ができるという状況は必須です。この記事を読んでいる読者の方は、現在のエディタからお引越しを考えているか、あるいはエディタ選びに悩んでいる初学者や初心者、あるいはプログラミングに慣れてきて次のステップに移ろうとしている方だと思います。あればなおさらEmacsやVimのようなエディタを一度はインストールして触ってみてほしいです。話だけ聞いたり読んだりしても「手出さないでおこう」となってしまいがちですが、確実に歴史あるエディタはプログラミングのレベルをあげてくれます。サーバー上の作業も同じエディタだと効率的SSHでサーバーにログインして黒い画面を叩く、プログラミングを勉強しているとこんな場面が多いかと思います。コンソールやコマンドプロンプトでOSコマンドを扱うこと以外にも、設定ファイルを編集するシーンがよくあります。そんなときにいちいちGUIのあるエディタを使わずとも、OSに搭載されているテキストエディタであれば、その流れで直接ファイルを開いて編集することが可能です。nanoなど、Linuxに入れてすぐに使えるモノであれば、FTPでダウンロードしてアップロードし直して、という手間を省けます。黒い画面デビューした人や、よりすばやくサーバー作業を行いたいという人にとって、クロスプラットフォームかつCUIから使えるエディタは効率化の意味でもスキルアップの意味でも勉強する価値が非常に高いのです。パソコンが盗難に遭っても大丈夫これはないように願いたいところですが、パソコンは国内外問わず盗まれやすいです。カバンを盗られた際に中にパソコンが入っているという場合もあります。昔、私が東南アジアの某国で働いていたときは、一緒に飲み会をしていた同僚が足元に置いていたバッグを置き引きされました。Airもともに盗まれてしまったので、余計な出費がかかってしまった上に、環境構築もイチからやり直していました。盗まれても、なんていうと物騒な話ではありますが、それでも生き抜くためのリスクヘッジの一環としてクロスプラットフォームなテキストエディタに慣れておくことは重要なスキルであると考えています。道具は磨くからこそ価値を持つ思った以上に冷静に比較できなかったのですが(特にEmacs関連)、やはりプログラミングや文字を書くことが多い人にとってテキストエディタは仕事道具であり武器です。侍が刀の刃こぼれを気遣うがごとく、我々書いて戦う人間は常に道具をメンテナンスしなければいけません。営業マンの靴、床屋のハサミ、料理人の包丁などなど、すべての職業にその義務があります。自らの手によって立派なレディに仕立て上げるようにテキストエディタもまた、設定ファイルを丁寧に組み込んでいきましょう。あなたの人生に寄り添う最高のパートナーに成長してくれます。Co.,Ltd開発部の合同公式ブログ。代表がITエンジニア出身のデジタルノマド→日本とベトナム・ホーチミンでIT企業設立。海外デジタルノマドやエンジニアのリモートワーク、プログラミング、オフショア開発やミニラボ情報などをまとめていきます。Co.,Ltd開発部の合同公式ブログ。代表がITエンジニア出身のデジタルノマド→日本とベトナム・ホーチミンでIT企業設立。海外デジタルノマドやエンジニアのリモートワーク、プログラミング、オフショア開発やミニラボ情報などをまとめていきます。