新刊ピックアップ

エンジニアに愛され続ける定番エディタ

この記事を読むのに必要な時間:およそ 1.5 分

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の起動画面

図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の実行画面

図1 helm-for-filesの実行画面

本書の紹介

本書は,5年前に刊行されたEmacs実践入門の改訂版です。新機能や新しい拡張機能などについて加筆を行い,その他の部分も現在の状況に合わせて加筆修正しています。基本的な操作や拡張機能の活用方法までていねいに解説していますので,興味を持たれた方はぜひ手にとってみてください。