Emacsで日常に彩りを〜普段使いのEmacs入門〜
この記事はEmacs Advent Calendar 2011の24日目です。
昨日は @r_takaishi さんのEmacsのデータストアを見てみる でした。
明日は @daimatz さんです。
ライトユーザにとって、Emacsは敷居が高い
この記事で対象とするライトユーザは、以下のような人たちです。
- WindowsまたはMacユーザ
- たまにテキストエディタ(not Emacs)を使う
- 端末?なにそれ
- 友人にEmacsを勧められたけど、いまいちインストールする気にならない
- Emacsインストールしたことあるけど、結局使ってない
このような人々が、日常的に「Emacsに触ってみよう!」という気になるまでには、
いくつかの関門があります。
ライトユーザのよくある声
もとい、Emacsをいまいち使えてなかった過去の自分を回想します。
起動が遅すぎる
多くのテキストエディタが軽量・高速をウリにしているのに、
Emacsは起動がめちゃくちゃ重い。
特に、普通のテキストエディタみたいに1ファイル1枚で起動したら、
Emacsは重いし使いづらいし・・・Emacs使うのやめよ。
→ 発想の転換:Emacsを起動しっぱなしにすればおk。
あとで説明します。
Emacs Lisp分からん
なんで、たかが設定のためだけに、よく分からん言語を勉強しないといけないの?
→ 最初はコピペでおk。理解は後回し。
Emacsに慣れてからEmacs Lispを触り始めましょう。
普段使いのエディタとして使おう
この記事のゴールは、普段テキストエディタを使う場面で、Emacsを使えるようにすることです。
まず最初のインストールでつまずかないことが大切。
インストールができたら、普段の生活で気軽に使えるようにEmacsを設定していきましょう。
まずはインストール
いまやEmacsのインストールは、どのOSでも簡単にできます。
Windows: gnupackで一発
gnupackというパッケージを使うと一発です。*1
gnupack Users Guide
日本語環境も含めて設定済みなので、いきなり使えます。
cygwinとgvimもついてくるので、Windows上でUnix環境やVimを試してみたい方にもオススメ。
あとで説明しますが、gnupackでは、Emacsの設定ファイルを置くディレクトリ「.emacs.d」が、
以下のディレクトリになる、ということだけ覚えておいてください。
(gnupackを解凍したディレクトリ)\home\.emacs.d ※ 例えば(gnupack_devel-7.02.exeをダウンロードした場合): C:\Users\sky-y\gnupack_devel-7.02\home\.emacs.d
Mac: 初心者はCarbon Emacsを
Carbon Emacsというパッケージを使うと、
「アプリケーション」フォルダにドラッグアンドドロップでインストールが完了します。
Emacs本体に加えて、いくつかのEmacs Lispパッケージや日本語環境の設定が入っているので、
初心者にお勧めです*2。
http://homepage.mac.com/zenitani/emacs-j.html
Emacsの設定ファイルを置くディレクトリ「.emacs.d」は以下の通りです。
~/.emacs.d/ (「~」はホームディレクトリ(ユーザの名前が付いているフォルダ)という意味です)
Emacs設定、最初の一歩
最初に覚えることは、先ほど述べたEmacs専用ディレクトリ「.emacs.d」の下に
次の2つを入れておく、ということです。
- elisp ディレクトリ : 外部サイトから手に入るEmacs Lisp (ほげほげ.el)を、ここに入れておきます。
- init.el : Emacsの設定用ファイル。
※ 場合によっては、「.emacs.el」とか「.emacs」というファイルがあるかもしれません。
昔はこれらのファイルに設定を書くのが主流でしたが、
現在の主流は .emacs.d/init.el に設定を書く、という方式なので、
こちらに合わせましょう。
Step 1. Emacs専用ディレクトリを作る
まずは、以下の手順でEmacs専用ディレクトリを作ります。
1. 「.emacs.d」ディレクトリを作る (既にあればそのまま使う)
2. 「.emacs.d」ディレクトリを開き、「elisp」ディレクトリを作る
Windowsでgnupackを使った方は、既に「.emacs.d」があるはずなので、
そのまま「elisp」フォルダを作ってください。
ホームディレクトリに「.emacs.d」を作りましょう(場合によっては既にあるかも)。
その後、Finderでショートカットキー「command+shift+G」を押すと以下のような画面が出るので、
「~/.emacs.d」と打って移動してください。
最後に、「elisp」フォルダを作ります。
Step 2. init.elを開き、コピペする
init.elがある場合は、どんなエディタでもいいので開きます。
ない場合は「.emacs.d」の下に新規作成。
付属のテキストエディタで保存する時に、
ファイル名に「~」を打つとパスを入力する画面が出てくるので、
そのまま「~/.emacs.d」と打つと「.emacs.d」ディレクトリに保存が出来ます。
init.elを開いたら、以下をコピペしましょう。
既に何か書いてあったら、最後の行に追加しましょう。
ここで重要なのは、意味を考えないことです。
何も考えずコピペしましょう。
;; load-path を追加する関数を定義 (defun add-to-load-path (&rest paths) (let (path) (dolist (path paths paths) (let ((default-directory (expand-file-name (concat user-emacs-directory path)))) (add-to-list 'load-path default-directory) (if (fboundp 'normal-top-level-add-subdir-to-load-path) (normal-top-level-add-subdirs-to-load-path)))))) ;; load-pathに追加 (add-to-load-path "elisp") ;; auto-install.el (when (require 'auto-install nil t) ;; インストールディレクトリを設定 (setq auto-install-directory "~/.emacs.d/elisp") ;; EmacsWikiに登録されているelispの名前を取得 (auto-install-update-emacswiki-package-name t) ;; install-elispの関数を利用可能にする (auto-install-compatibility-setup)) ;; emacsclientを使えるようにする (server-start)
Step 3. auto-install.elをインストール
elisp ディレクトリの使い方を練習するついでに、
インストールしておくと後々便利な auto-install.el を導入しておきます。
これで後々、Emacs Lispの導入が楽になります。
1. auto-install.el を適当な場所にダウンロードします。
auto-install.el
2. auto-install.elを「.emacs.d/elisp」ディレクトリにコピーします。これでインストール完了。
参考:auto-install.elの基本的な使い方
(auto-Install.el - 非平衡日常 を引用改変)
ほげほげ.elをインストールする場合 1. M-x auto-install-from-emacswiki RET ほげほげ.el RET でファイルをダウンロード 2. C-c C-cでインストール ただし、anythingをインストールする場合は 1. M-x auto-install-batch 2. anything
補足:
-「M-x」は Windows: Alt-x (Mac: option+x) のあとに、コマンドを入力
-「C-c C-c」は Windows: Ctrl-c を2回押す (Mac: control+c を2回押す)
Step 4. コーヒーを飲む。
最初のステップはこれで終わり。あとは、次の基本を守れば大丈夫です。
1. 外部サイトから取ってきたEmacs Lispを elisp ディレクトリに突っ込む
(auto-install.elを使う場合は、先に紹介した通りにやれば、勝手に入れてくれます)
2. 必要な設定を init.el にどんどんコピペする
3. 設定が終わったら再起動する
発想の転換:Emacsを常に起動させよう
Emacsは最初の起動が重いだけ。
ということは、一度起動したものを使い回す、という使い方をすれば良いのです。
今度は、このような使い方をするような設定をしていきます。
少し説明しておくと、Emacsのパッケージには通常「emacsclient」というものが付属しています。
これを起動すると、既に起動しているEmacsで開いてくれるのです。つまり、
- PC起動と同時にEmacs本体を起動する
- ファイルに開く時は、emacsclientで開く
という使い方です。これによって、ファイルが一瞬で開くようになるので、
Emacsに対する好感度が劇的に良くなります。
Step 1. init.elに設定を・・・すでに終わっていたッ!
あ...ありのまま今 起こったことを話すぜ!
;; emacsclientを使えるようにする (server-start)
な...何を言っているのかわからねーと思うが(ry
Step 2. PC起動と同時にEmacsを起動させる
Windowsの場合は、スタートボタン→すべてのプログラム→スタートアップ とたどり、
右クリックでエクスプローラーを開きます。
次に、別のエクスプローラーでEmacsのアイコンを右クリックし「ショートカットの作成」をクリック、
作成されたショートカットをスタートアップフォルダに入れたらOKです。
Macの場合は、システム環境設定から「アカウント」を開きます。
「ログイン項目」というタブをクリックすると、
スタートアップ時に起動するアプリケーションを指定できるので、
「+」を押してEmacs.appを指定します。
Step 3. テキストファイルにemacsclientを関連づけする
続いて、テキストファイルをダブルクリックしたときに
emacsclientで開いてくれるように、関連づけの設定します。
1. 環境設定の設定
コントロールパネルからシステムの設定を開きます。
Windows 7: コントロール パネル→システムとセキュリティ→システム→システムの詳細設定
Windows XP, Vista: コントロールパネルで「クラシック表示に切り替える」→システム
「詳細設定」タブで「環境変数」をクリックします。
上段、○○(ユーザ名)のユーザー環境変数で「新規」を押して、以下の値を入力します。
変数名: EMACS_SERVER_FILE 変数値: (gnupackを解凍したディレクトリ)\home\.emacs.d\server\server ※ 変数値の例(gnupack_devel-7.02.exeをダウンロードした場合): C:\Users\sky-y\gnupack_devel-7.02\home\.emacs.d\server\server
これで「OK」を続けてクリックすれば完了。
2. emacsclientを関連づける
Windowsの場合は、テキストファイルを右クリックして
「プログラムから開く」→「既定のプログラムの選択」をクリック。
(関連づけされていないファイルの場合は、「開く」
→(このファイルを開けませんと言われるので)「インストールされたプログラムの一覧からプログラムを選択する」を選択して「OK」)
emacsclientが一覧に無い場合は、「参照」ボタンで
emacsclientを指定してあげます。
このとき、「この種類のファイルを開く時は、選択したプログラムをいつも使う」にチェックを付けておきます。
emacsclientの場所は以下の通りです(2種類ありますが、emacsclientw.exeの方を使ってください)。
(gnupackを解凍したディレクトリ)\app\emacs\emacs\bin\emacsclientw.exe ※ 例えば(gnupack_devel-7.02.exeをダウンロードした場合): C:\Users\sky-y\gnupack_devel-7.02\app\emacs\emacs\bin\emacsclientw.exe
Macの場合は少し手間がかかります。
1. EmacsClient.appを作る
Platypus(http://sveinbjorn.org/platypus)というアプリを使って、
Emacsに付属しているemacsclientをMac用アプリに変換します。
このへんの手順は、以下にある拙著記事を参考にしてください。
Cocoa Emacs: emacsclientをAppに変換する - 雲行きそらゆきココロイキ
※手順1.は、要するに emacsclient.sh というファイルを作るだけの話です。
2. 拡張子ごとに関連づけする
Finder上で好きなテキストファイルを右クリック、「情報を見る」を選びます。
「このアプリケーションで開く」のプルダウンメニューで「その他」を選んだあと、
EmacsClient.app を選び、「常にこのアプリケーションで開く」に
チェックを入れて「選択」を押します。
次の一歩 -まとめに代えて-
ここまで来れば、あとは日常使いのテキストエディタとしてEmacsを使うのみです。
まずは最初の1・2週間だけ、我慢して使ってみましょう。
独特のキーバインドが苦手な人は、チートシートを印刷して見ながら覚えましょう。
- 日本語(1枚目だけでも十分) Emacs チートシート - TotoroWiki
- 英語(グラフィカルで綺麗) 404 Not Found
次の一歩は、便利そうなEmacs Lispを探してコピペしまくることです。
繰り返しますが、意味なんて最初は分からなくても良いのです。
設定をコピペして、次々と表情を変えるEmacsを楽しみましょう。
例えば、color-themeなんかをいじってみると見た目が変わって楽しいです。
(/usr/share/emacs/site-lisp/にコピーする、の部分は
「.emacs.d/elisp」ディレクトリにコピーする、と読み替えてください。)
Emacs Color Theme: プログラマーになりたい!
もしコピペしてうまくいかなかったら、今は設定をコメントアウトして諦めましょう。
そのうち分かる日が来ます。
このように、ウェブ上に転がっているEmacs Lispをコピペしても良いのですが、
おすすめなのは、るびきちさんが書いた「Emacsテクニックバイブル」からパクることです。(もちろん、ちゃんと買って下さいね(笑))
この本は最新のEmacs事情を踏まえて書かれているので、
本の通りにコピペを続けるだけで最先端かつ効率的なEmacs環境を作り上げることができます。
途中でEmacsに挫折した人にもオススメです。
Emacsテクニックバイブル ?作業効率をカイゼンする200の技?
- 作者: るびきち
- 出版社/メーカー: 技術評論社
- 発売日: 2010/08/03
- メディア: 単行本(ソフトカバー)
- 購入: 25人 クリック: 1,006回
- この商品を含むブログ (67件) を見る
Have a happy Christmas with your Emacs!