できる Emacs 第一回
/⌒ ⌒\ /( ●) (●)\ 久しぶりだお! /::::::⌒(__人__)⌒::::: \ みんなのアイドル、やる夫だお! | |r┬-| | 今日はEmacsについて勉強するお! \ `ー'´ / / \ /\ キリッ / (ー) (ー)\ というわけでEmacsについて教えるお! / ⌒(__人__)⌒ \ | |r┬-| | \ `ー'´ /
…
……
………
すいません、間違いました。
そういえば、次のお勤め先はEmacs必須らしいので、使い方を覚えないと。新人研修で基本的なことは教えてもらえるらしいんで、あとは応用編をどうやって学習するか? 「週刊できるEmacs」みたいな本があれば良いんですけれども。
とリクエストがあったので、自分の Emacs 環境を紹介します。こうやって書いておくと hito さんあたりから色々と突っ込みが入ると思うので、結果的に私の Emacs 環境もパワーアップという魚心あれば下心。
外堀を埋める
まず Emacs に入門するため、Ubuntu の環境から整備しましょう。以下のコマンドを実行してください。
desktop -> gnome -> interface -> gtk_key_theme の値を Emacs に変更してください。これで Gnome のキー操作を Emacs 風のバインドで使うことができるようになります。次に Firefox に Firemacs アドオンを追加しましょう。Firefox での操作が Emacs の(ry
$ gconf-editor
インストール
Ubuntu で Emacs をインストールするには以下のコマンドを実行します。emacs-env-ja メタパッケージは使わず、手動で構築してみましょう。
起動するとこんな画面が表示されたりします。
$ sudo apt-get install emacs
ぶっちゃけデフォルト状態の Emacs は死ぬほど使いづらいので、ここから自分だけの Emacs へ育て上げていく必要があります。なお Emacs の設定は ~/.emacs もしくは ~/.emacs.el に記述します。
カーソルを移動する前と後に『サー』と言え!
Emacs キーバインドが体に染みついていない人*1は、まず鬼軍曹をインストールしましょう。カーソルキーのような地の果てにあるキーでカーソル移動をしていると、右手がホームポジションに戻ってくる前に戦争が終わってしまいます。是非とも C-n C-p C-f C-b でのカーソル移動に慣れてください。また、デフォルトでは C-h がバックスペースになっていないので、キーバインドを設定する必要があります。
こういった elisp をインストールする場合は、ロードパスの通ったディレクトリにスクリプトを配置する必要があります。例えば ~/.elisp に elisp をインストールして使用できるようにする場合は以下のようにします。
;; .emacs に以下の記述を追加
(setq load-path(cons "~/.elisp" load-path));; 鬼軍曹を有効にする
(require 'drill-instructor)
(setq drill-instructor-global t);; C-h をバックスペースに割り当てる
(global-set-key "\C-h" 'delete-backward-char)
追記
鬼軍曹の中で C-h の設定がなされているので、鬼軍曹をを有効にすると (global-set-key "\C-h" 'delete-backward-char) の設定は不要です。
日本語入力環境
日本語入力には anthy-el を使用するのが手っ取り早いでしょう。以下のコマンドでインストールできます。
バッファ上で C-\ を入力することで日本語入力が可能になります。主なキーバインドはAnthy Wiki にある通りですが、私はこれが気に入らないので l/L を x/X にバインドした anthy-el を PPA で配布しています。もし ATOK っぽいローマ字バインド*2で使いたい人はどうぞ。
$ sudo apt-get install anthy-el
便利な elisp
apt から便利な elisp を色々と入手できます。
- gnuserv
- 既に起動済みの Emacs に接続する機能
- elscreen
- Emacs 上で動作する screen
- w3m-el
- Emacs 上で w3m を使う
- emacs-goodies-el
- 便利なツール集っていうかぶっちゃけ rdired のためだけに
- ruby-elisp
- Ruby のコーディングに適したモード
- html-helper-mode
- HTML の記述に適したモード
利用するには .emacs への記述が必要です。
gnuserv と elscreen を組み合わせると
;; elscreen
(load "elscreen" "ElScreen" t);; gnuserv
(gnuserv-start)
(setq gnuserv-frame (selected-frame))
export EDITOR='/usr/bin/gnuclient -f elscreen-create'
こんな設定で、dch した時に「既に起動している Emacs 上に新しい screen を開き、そこで新規バッファを開く」ようなことが出来たりします。