皆様はじめまして。EmacsとPCキーボードをこよなく愛するLinux使いの濱野と申します。
「Emacs 24.1がリリースされたのにUbuntu Weekly Recipeでまだ紹介されていない。これは由々しき事態だ! でも、Ubuntu Japanese Teamメンバーは多忙で手がはなせない!」とのことで、今回、私が紹介させていただくく運びとなりました。どうぞよろしくお願いします。
はじめに
2012年の6月10日に、Emacs 24.1がリリースされました。Emacs 23.1のリリースは、2009年7月29日ですので、およそ3年ぶりのEmacsのメジャーバージョン更新となりました[1]。
本稿では、その最新のEmacsをUbuntuの最新リリースである12.04に導入する方法と、Emacs 24.1での主要な変更点の紹介をします。
Emacs とは
Emacsについては、過去の本連載にて数多くの紹介があります。「Emacsとは何か」を一言で説明すると、テキストの編集も、メールの読み書きも、Webのブラウジングもできる超高機能なテキストエディタ[2]です。Emacsの詳細については、第73回の「Emacs事はじめ」や第116回、第117回、第118回の「UbuntuとEmacsでプログラミングをはじめよう」などを参照してください。
Emacs 24.1の導入
Emacs 24.1をUbuntu 12.04に導入する方法を説明します。ここでは、PPAからEmacs 24.1のビルド済バイナリを導入する方法と、自分の手でソースコードからビルドする方法を紹介します。
PPAから導入
PPAで提供されているEmacs 24.1のバイナリのインストール方法を紹介します。ここではcassouさんが提供しているPPAを利用し、Emacs 24.1をインストールします。
以下のコマンドで、PPAを追加し、Emacs 24.1をインストールします。なお、以降のサンプルにある「$」記号は、端末のプロンプト文字列を示します。
$ sudo add-apt-repository ppa:cassou/emacs
$ sudo apt-get update
$ sudo apt-get install emacs24 emacs24-el
あとは、以下のようにemacsと打てば、PPAよりインストールしたemacsが起動します。
$ emacs
自分でビルド
ソースコードからEmacs 24.1をビルドする方法を紹介します。ソースコードからのビルドは、全て端末上で行います。Gnome-Terminal等を開いてそこで作業してください。
まず、Emacs 24.1をビルドするために必要なライブラリを導入します。以下のようにapt-getコマンドを用いてインストールします。
$ sudo apt-get build-dep emacs
$ sudo apt-get install libmagickwand-dev libselinux1-dev libgnutls-dev libxml2-dev
作業用のディレクトリを作成し、そこに移動します。ここでは作業用のディレクトリをホームディレクトリ以下のworkというディレクトリにしています。適宜、好きなディレクトリに置き換えて作業してください。
$ mkdir work
$ cd work
Emacsのソースコードのアーカイブのダウンロードと展開を行い、展開してできたディレクトリに移動します。
$ wget ftp://ftp.ring.gr.jp/pub/GNU/emacs/emacs-24.1.tar.bz2
$ tar xvjf emacs-24.1.tar.bz2
$ cd emacs-24.1
configureスクリプトを実行します。configureスクリプトに特定の引数を渡すと、Emacsで有効とする機能や無効とする機能の設定ができます[3]。ここでは、何も引数を渡さず、デフォルトの状態でビルドしています[4]。
$ ./configure
Emacsをビルドします。ちょっと時間がかかりますので、お茶でも飲んでゆっくりと待ってください。
$ make bootstrap
最後にビルドしたEmacsをシステムにインストールします。ここでのインストールディレクトリは、/usr/localディレクトリ以下となります。
$ sudo make install
あとは、端末から以下のようにemacsと打てばビルドしたemacsが起動します。
$ emacs
Emacs 24.1の新機能
Emacs 24.1には、様々な新機能の追加や既存機能の改修があります。以下にEmacs 24.1での主要な変更点を挙げます。
- パッケージシステムpackage.elの追加
- カスタムテーマシステムの改良
- Emacs-Lispでlexicalスコープのサポート
- bidirectionalテキストの表示・編集のサポート[5]
- GnuTLS、GTK+3、ImageMagick、SELinux、Libxml2のビルトインサポート
本稿ででは、この中から一般ユーザへの恩恵が高い、パッケージシステムとカスタムテーマについて紹介します。
パッケージシステム package.el
パッケージシステムpackage.elがEmacs 24.1より追加となりました。
package.elとは、Emacs Lispパッケージのパッケージマネージャです。Emacs Lispパッケージのインストール、アップグレード、アンインストールができます。M-x list-packages[6]とコマンドを入力することで、パッケージ管理用のインタフェースが開きます。
図1 list-packagesの実行結果
M-x list-packagesのインタフェースで利用する主要なキーを以下の表に示します。
list-packages で利用可能なキー
キー | 説明 |
エンター | 現在行のパッケージの説明を分割したウィンドウに表示する[7] |
? | 同上 |
i | 現在行のパッケージをインストールするパッケージとして、マークをつける |
d | 現在行のパッケージをアンインストールするパッケージとして、マークをつける |
u | 現在行のパッケージにつけたマークを取り消す |
U | 更新のあるパッケージにマークをつける[8] |
x | マークをつけた候補に対して、インストール・アンインストールを実際に実行する |
操作例を以下の図に示します。行の一番左に「I」の文字がある行がインストール候補のパッケージです。行の一番左に「D」の文字がある行がアンインストール候補のパッケージです。
図2 list-packagesの操作例
パッケージ取得をするためのアーカイブサイトとして、package.elにデフォルトで登録してあるサイトは、http://elpa.gnu.org/packages/ですが、数がまだまだ少ないです。
そこで、有志が管理しているサイトをアーカイブサイトとして登録することで、導入できるパッケージ数を増やすことができます。有志が管理しているサイトは、marmaladeやMELPAが有名です。
marmaladeとMELPAをアーカイブサイトとして登録するには、Emacsの設定ファイル[9]に以下の行を追加します。
(require 'package)
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/"))
(package-initialize)
marmaladeとMELPAをアーカイブサイトとして追加した後に、M-x list-packagesと実行した結果が以下です。
図3 アーカイブサイトにmarmaladeとMELPAを追加した際のlist-packagesの結果
カスタムテーマ customize-themes
テーマの有効・無効を切り替えるためのインタフェースであるcustomize-themesコマンドが追加されました[10]。
テーマとは、Emacsの見た目の設定を指します。customize-themesコマンドでは、このテーマを切り替えることができます。以下がcustomize-themesのインタフェースです。
図4
左のチェックボックスの上にポイントを置き、「エンター」キーを押すことでテーマを切り替えることができます。テーマを変更した例が以下です。
図5
画像上部にある「Save Theme Settings」ボタンを押すことで、次回、Emacsを起動したときも、今回変更したテーマを使用するように変更できます。このボタンを押すと、Emacsが~/.emacsファイルに設定を書き込みます。
画像を見て分かるようにテーマの数はまだまだ少ないですが、一部、MarmaladeやMELPAより有志の作成したテーマのインストールができます[11]。
おわりに
いかがだったでしょうか。本稿では、Emacs 24.1の導入方法と、その主要な新機能について紹介しました。今回紹介したEmacs 24.1の新機能はほんの一部に過ぎません。すべての変更点について知りたいという方は、是非ともNEWSファイルを参照してください。すべての変更点がそこにあります。