木下達
也
![]() |
GNU Emacs は、 拡張・カスタマイズが可能なテキストエディタです。
GNU システムの構成要素として 1984 年から開発が始まり、 現在もなお愛され続けています。
テキストエディタとしての基本的な機能に加えて、 複数の「バッファ」 それぞれに応じた「モード」 、 キー割り当てのカスタ マイズ、 Emacs Lisp によるプログラミングが可能、 といった特徴があります。
その柔軟性は、 文書作成、 コーディングという用途に留まらず、 メール送受信、 ウェブブラウズなどもこなせるほど です。
Debian では emacs パッケージをインストールすれば、 Debian 標準の Emacs パッケージ (etch では emacs21、 lenny では emacs22) がインストールされます。
# apt-get install emacs
|
ウィンドウアプリケーションとして動かすのではなく、 端末でのみ利用したいのであれば、 代わりに-nox パッケージ (etch では emacs21-nox、 lenny では emacs22-nox) を選べば、 依存関係が少なく、 インストールサイズが小さくて済み ます。
emacs21 では、 Unicode (UTF-8) 日本語対応のためには、 別途 mule-ucs パッケージが必要です。 (emacs22 では mule-ucs 無 しでも対応)
# apt-get install mule-ucs
|
mule-ucs を有効にするには、 設定ファイルのサンプル/usr/share/doc/mule-ucs/examples/dot.emacs.jaの 内容を、 ~/.emacsの先頭の方に貼り付けておくとよいでしょう。 (emacs22 でも有用な設定が含まれてい ます)
注: mule-ucs を有効にする際には、 やや時間がかかります。 また、 ~/.emacs自身は UTF-8 にしないように。 ~/.emacs読 み込み前に環境変数で mule-ucs を有効にする方法もあります。 /usr/share/doc/mule-ucs/README.Debianを 参照。
起動方法:
emacs 通常起動
emacs -nw 端末内で起動 emacs -q ~/.emacs を読まずに起動 emacs -q -no-site-file startup ファイルを読まずに起動 (emacs22 なら-Q でも可) |
キーボード操作に慣れることで、 Emacs をより快適に使えるようになります。
C-x Ctrl キーを押しながら x
M-x ESC を押してから x (または Alt キーを押しながら x) ESC Esc キーまたは C-[ TAB Tab キーまたは C-i (字下げや補完に使う) RET Enter キーまたは C-m (改行と同時に字下げする場合には C-j) DEL Back space キー SPC スペースキー C-x C-c Emacs を終了 C-p 上へ C-n 下へ C-b 左へ C-f 右へ C-a 行頭へ C-e 行末へ DEL 手前 1 文字を削除 (C-h はデフォルトでは help-command) C-d 1 文字を削除 C-k 行末まで削除 C-o 行末までを次の行へ (改行を挿入、 位置はそのまま) C-x C-f ファイルを読み込む C-x C-s ファイルを保存 C-x i 現在位置にファイルの内容を挿入 C-x C-w 別ファイルへ保存 C-x RET f 現在のバッファの coding system(文字コード) を設定 C-x RET c 次に実行するコマンドの coding system を設定 C-v 次ページへ M-v 前ページへ M-< 先頭へ M-> 末尾へ C-s 前方検索 C-r 後方検索 (M-付きで正規表現) M-% 置換 (C-付きで正規表現) C-SPC マーク C-w カット M-w コピー C-y ペースト C-g 処理を中断 C-x u Undo C-l 現在行を中央にして再表示 C-x b バッファ移動 C-x k バッファ削除 C-x ( キーボードマクロ記録開始 C-x ) キーボードマクロ記録終了 C-x e キーボードマクロ実行 C-x 2 ウィンドウ分割 C-x 1 他のウィンドウを削除 C-x 0 現在のウィンドウを削除 M-x コマンド実行 (Lisp 関数を呼び出し) M-: ミニバッファで入力して Lisp 式を評価 C-x C-e 手前の Lisp 式を評価 (*scratch*では C-j で評価・表示) M-! 外部コマンド実行 (C-u 付きで出力を現在位置へ挿入) M-x help RET ヘルプ M-x info RET マニュアル M-x apropos RET 関数、 変数等の名前を検索 |
カスタマイズ例:
(global-set-key "\C-h" ’delete-backward-char)
(global-set-key "\C-ch" ’help-command) (global-set-key "\C-z" ’scroll-down) ;; C-x C-z to use suspend/iconify (global-set-key "\C-cg" ’goto-line) (if (locate-library "iswitchb") (require ’iswitchb)) (if (fboundp ’iswitchb-default-keybindings) (iswitchb-default-keybindings)) (global-set-key "\C-cb" ’switch-to-buffer) (setq visible-bell t) (setq inhibit-startup-message t) (if (fboundp ’menu-bar-mode) (menu-bar-mode -1)) (if (fboundp ’tool-bar-mode) (tool-bar-mode -1)) (if (fboundp ’auto-compression-mode) (auto-compression-mode 1)) |
Emacs 標準の機能だけでなく、 さらに追加できる Emacs Lisp パッケージがたくさんあります。
2008-05-13 時点の Debian sid で、 usr/share/emacs を含むパッケージ:
# apt-file update
$ apt-file search usr/share/emacs | awk ’{print $1}’ | sort -u | cat -n 1 a2ps: 2 acl2-emacs: 3 ada-mode: 4 afnix: 5 anthy-el: 6 apel: [...] 256 yatex: 257 yc-el: 258 yorick-data: 259 zenirc: |
個人的なお勧め・注目パッケージ:
Debian sid に現時点で存在する emacsen パッケージ:
非公式パッケージとして、 Romain Francoise さんによる emacs-snapshot パッケージ (CVS 版 Emacs 23.0.x) もあります。 ( http://emacs.orebokech.com/)
Emacs Lisp add-on パッケージでは、 emacsen それぞれに応じた処理 (バイトコンパイル等) はインストール時に実施される ので、 パッケージはほぼ共通のものが使えます。
第
13 回関西 Debian 勉強会 2008 年 5 月
____________________________________________________________________________________________