フリーキーズ | 独学プログラミング

[2023年版]今からEmacsを始める人に魅力を伝えたい

最終更新日
【画像】[2023年版]今からEmacsを始める人に魅力を伝えたい

Emacsというエディタをご存知でしょうか。
最近エンジニアを始めた人にとって、2023年現在では利用するエディタの選択肢の候補から外していることが多いことでしょう。

Visual Studio CodeやIntelliJ、さらにはSublime TextやAtomなど、魅力的なエディタが溢れる世の中です。今でもVimを愛し、Neovimなどの拡張版を使っている方もいることでしょう。
EmacsにもSpacemacsというevil(Emacsにvimのベースとなっているviのキーバインドに対応させたもの)を使った拡張版があります。

だが声を大にして言いたい。EmacsはEmacsだからいいのである、と。
最近、Emacsのバージョン29.1がリリースされたり、『達人プログラマー』を再読したおかげで、このコンテンツを書き始めました。

Emacsを使い初めて10年以上経ちましたが、まだ自分もEmacsを知り尽くしていないのでこの執筆を機に、再度その魅力へと迫ります。

Emacsとは

1972年生まれのエディタです。よく『Emacsはエディタではなく環境である』と称されます。
しかし世の中では『オワコン』『Emacsは死んだ』など不穏なキーワードが散りばめられています。

我々の時代が進むにつれ、世にはたくさんの高機能なIDEやエディタが生まれました。新しい物好きな人が多いエンジニア界隈では、そういった新しいエディタはすぐに深掘りされ、使いやすいことがわかったら乗り換える人も多いのです。

そういった新陳代謝の高い歴史の中に埋もれていきそうなエディタであるEmacsを、今なお使い続けている孤高のエンジニアは決して少なくないと先に明言しておきます。

Emacsの長所と魅力

Emacsは非常に拡張性が高く、カスタマイズ可能なテキストエディタで、何十年もの間、テキスト編集と開発の世界で定番となっています。
その主な長所と魅力的な機能のいくつかを紹介します。

拡張性

先に述べた通り、Emacsは単なるテキストエディタというよりも、環境と表現されることが多いです。組み込まれているプログラミング言語であるEmacs Lisp(elispとも呼びます)を使って拡張でき、エンジニアはEmacsの動作におけるほとんどすべての部分をカスタマイズできます。

プログラミング言語との統合

Emacsには、事実上すべてのプログラミング言語をサポートするモードとパッケージがあり、複数の言語で作業する開発者にとって魅力的な選択肢となっています。

豊富なプラグインエコシステム

Emacsを拡張するためのパッケージが何千もあり、EメールクライアントからGitを扱うツール、カレンダー管理など、あらゆる機能を追加できます。(ゲームもできます)これらによってEmacsは様々なワークフローに適応できる汎用性の高いツールとなっています。

OSにとらわれない

Emacsは、Windows、macOS、Linuxなど、すべてのOS上で動作します。そのため、異なるシステムを切り替えて使う場合にも適しています。
特にサーバ上で作業をする際に、Emacsをインストールしてしまえばいつもと同じ使い心地で作業できるという大きなアドバンテージがあります。

強力な編集機能

Emacsには豊富な編集コマンドとキーボードショートカットがあります。これに慣れるまでの間に挫折するケースが多いのですが、一度コツを覚えればテキスト操作を多用するプログラミングのような作業において効率的な編集が可能になります。

このショートカットにおいて左手の小指を多用するため(左のCtrlを使うため)、Emacsの話題では左手の小指について話されることが多いのです。

IDEのような機能

適切な設定とパッケージを用いることで、Emacsは完全な統合開発環境(IDE)として機能し、シンタックスハイライト、コード補完、デバッグ、ファイル探査などの機能を使うことができます。

活発なコミュニティ

Emacsユーザーが形成するコミュニティは活発で情熱的です。フォーラムやメーリングリストからチュートリアルやブログまで、学習やトラブルシューティングに利用できるリソースがたくさんあります。

シェルの統合

EmacsはBashやZshのようなシェルと統合でき、Emacsの中でシェルコマンドやスクリプトを実行したり、ターミナルセッション全体を管理できます。

バージョン管理の統合

Magitのようなパッケージを使えば、Emacsはコードを書く環境そのままでGitを扱うことができるので、エディタ内から複雑なバージョン管理タスクを実行できます。

オープンソース

フリーでオープンソースのソフトウェアであるため、誰でもソースコードを調べたり、修正したり、拡張したりできます。これは広範なカスタマイズを可能にするだけでなく、継続的な改善とアップデートのための共同作業環境を促進しています。
今でも、毎年新しい機能を搭載したEmacsがリリースされています。アップデートや提供が止まる不安はほぼないと言っていいでしょう。

マルチモード編集

Emacsは、特定のタスクやプログラミング言語に合わせた様々な編集モードをサポートしており、編集作業をより効率的にします。
メジャーモードと呼ばれる主に編集対象を快適に編集するためのモードに加え、マイナーモードと呼ばれるプラスαに便利な機能を使いながらコーディングやライティングできます。

長寿命

1972年から存在するEmacsは、安定性と継続的な開発の長い歴史を持っています。近い将来に消滅したり、サポートされなくなったりするような技術ではありません。

Emacsを学ぶ難しさについて

Emacsの学習曲線はテキストベースの編集に慣れていない人や、Lispのようなプログラミング言語に慣れていない人にとっては難しいものになります。
しかし、強力な機能と豊富なカスタマイズオプションにより、パーソナライズされた効率的な編集体験が可能になるため、多くのユーザーはその努力が報われることになります。

これからEmacserになる人へ

この文章を読んでいるあなたが、もしEmacsに興味を持ち、これから使ってみようと検討するのであれば、ぜひインストールしてみてください。WindowsやLinuxであればこちらの公式サイトダウンロードページを参考にするのが良いですが、macOSユーザーであればGUI版も用意されています。

正直なところ、Emacsの日本人ユーザーの数は激減しているため、基本的な使い方や便利な最新パッケージの情報を更新している人は少なくなっています。有名所だとるびきち氏の新生日刊Emacsがあったのですが、2017年より更新が止まっております。
他にもEmacs JPさんもあるにはあるのですが、残念ながらこちらも更新頻度は高くありません。

2023年8月現時点で最も更新頻度が高く、純度の高いEmacs情報を更新しているのはSacha Chua氏のLiving an awesome Lifeというブログです。(英語ですがわかりやすいです)
世界中のEmacs情報を収集しているようなのでとても参考になります。

当サイトでもEmacsの取り扱いは継続します

フリーキーズは現時点で運営者である田邉がすべてのコンテンツを賄っています。
よって、当サイトの最推しエディタはEmacsであることを既定路線です。

一人のEmacs使いのエンジニアとして、責任をもってEmacsにより習熟し、後世のEmacsユーザーに価値あるコンテンツを残せるように精進していきます。

関連するコンテンツ