Emacsというエディタが誕生したのは1975年です。40年以上が経った今でも、多くのプログラマーが愛用し、日々進化しています。これほどまでにEmacsが愛される理由の一つとして、拡張機能と呼ばれるしくみにより、自分の好みの機能を追加できる点が挙げられます。ここでは、Emacsのインストールと拡張機能の追加方法を解説し、Emacsが持つ魅力の一部を体験していただければと思います。
Emacsのインストール
macOSを例に説明します。Windowsを含むほかのOSでもEmacsは利用できますが、一部異なる部分もあります。
まず、「 GNU Emacs For Mac OS X 」という準公式のバイナリを公開しているWebサイトから、バイナリをダウンロードしてください。ディスクイメージファイル(dmgファイル)をダウンロードしてマウントし、開いたウィンドウにあるEmacsのアイコンをApplicationsディレクトリにドロップするだけです。起動すると図1 のような画面が表示されます。「 Emacs Tutorial」を選択すると基本的な操作方法が学べますので、一通り読むことをお勧めします。
図1 Emacsの起動画面
Emacsを起動すると、ホームディレクトリ(Macの場合は/User/ユーザー名
)に.emacs.dというディレクトリが作成されます。このディレクトリは、Emacsの設定ファイルが置かれます。Emacsの設定ファイルを書く方法はいくつかありますが、基本的には.emacs.d内のinit.elを編集する形がよいでしょう。
package.elとは
次は、拡張機能の追加方法です。Emacs 24からpackage.elというパッケージマネージャが利用できるようになり、拡張機能のインストールがとても簡単になりました。
package.elを利用してインストールする場合、拡張機能はELPAというリポジトリで管理されています。このリポジトリは公式の「GNU ELPA」以外にも「marmalade」「 MELPA」などの互換リポジトリがあります。これらのリポジトリを登録する設定をinit.elに記述します。
;; 互換リポジトリの登録
(require 'package) ; package.elを有効化
;; パッケージリポジトリにMarmaladeとMELPAを追加
(add-to-list
'package-archives
'("marmalade" . "https://marmalade-repo.org/packages/"))
(add-to-list
'package-archives
'("melpa" . "https://melpa.org/packages/"))
(package-initialize) ; インストール済みのElispを読み込む
Emacsを再起動し、次のようにコマンドを実行してパッケージ一覧を取得しましょう。
M-x list-packages
M-x
は、Altキーを押しながらxキーを押す、という意味です。そのあとにlist-packages
を入力してEnterキーを押してください。パッケージの一覧が表示されるはずです。
package.elで拡張機能を導入
ここでは、さまざまな場面でファイルの選択などが便利になるHelmを導入してみます。次のコマンドでインストールできます。RET
はEnterキーを押す、という意味です。
M-x package-install RET helm RET
先ほどのパッケージ一覧から選択する以外にも、上記のように拡張機能を直接指定してインストールすることも可能です。完了したらinit.elに次の設定を記述してください。
;; Helm
(require 'helm-config)
Emacsを再起動して、次のコマンドを実行してください。
M-x helm-for-files
すると図2 のように、現在開いているファイル、カレントディレクトリのファイルの一覧が表示されます。この一覧から選択して開くこともできますし、文字を入力すれば該当ファイルを絞り込むことも可能です。
図1 helm-for-filesの実行画面
本書の紹介
本書は、5年前に刊行された『Emacs実践入門 』の改訂版です。新機能や新しい拡張機能などについて加筆を行い、その他の部分も現在の状況に合わせて加筆修正しています。基本的な操作や拡張機能の活用方法までていねいに解説していますので、興味を持たれた方はぜひ手にとってみてください。