Emacsを初めて使う方は情報処理センターから無料で手に入れることができる『利用の手引き(ワークステーション編)』の Emacs の章をご覧下さい。 必要十分なことが書かれていますし、チュートリアルに最適です。Appendex B はリファレンスにもなっているのでまずそちらの方で慣れることをお勧めします。
このリファレンスは Emacs に慣れ、もっと便利に使いたいと思っている方へ贈るものです。 『利用の手引き』に書かれたことはすべて含んでいるのでオンラインのリファレンスとしてもお使い下さい。 もしこのリファレンスを初めて見る方は『表記について』を一度読んでおいてください。
% emacs filename | filenameを編集 |
% em filename | filenameを編集(省略形) |
C-x-c | Emacs を終了 |
C-z | 一時中断してシェルに降りる |
% fg | シェルから Emacs に戻る |
ただし、下にgarbage collection ...と出ている場合は何もせずに待って下さい。
C-_ | 取消 文字を間違えて BS で消してしまった時に試して下さい |
C-g | 中断 Emacs が止まった、分からないメッセージが出たなど困ったときに試して下さい |
C-p | 上 ↑(8)キーと同じ |
C-n | 下 ↓(2)キーと同じ |
C-f | 右 →(6)キーと同じ |
C-b | 左 ←(4)キーと同じ |
C-a | 行の先頭に移動 |
C-e | 行の末尾に移動 |
M-< | ファイルの先頭に移動 |
M-> | ファイルの末尾に移動 |
C-v | 1画面上へスクロール |
M-v | 1画面下へスクロール |
M-x goto-line [RET] n [RET] | 行番号を指定して移動 |
M-x what-line [RET] n [RET] | 現在カーソルがある行を表示します |
C-l | 現在カーソルがある行を画面の中央にする |
C-@ もしくは C-[SPACE] でリージョンされた領域を M-y で登録し、『テキストの複写』で紹介する C-y で複写します。
M-h でいうパラグラフ(段落)とはタブもしくはスペースで先頭がインデントされたものか、間に空行を挟んだもの(ブロックスタイル)のことです。 また、C-x h にあるバッファは後の『バッファ』を参照して下さい。
C-@ | リージョンの開始 範囲は C-@ からカーソルで移動したところまでです |
C-[SPACE] | 上記と同じ |
M-y | C-@ もしくは C-[SPACE] でリージョンした文字を登録 |
M-h | 現在のパラグラフを登録 |
C-x h | バッファ全体を登録 |
C-x-x | リージョンした位置を交互に移動(どこまでリージョンしたかを忘れたときに) |
レクタングルはリージョン開始位置からカーソルで移動した対角線を結ぶ四角形のリージョンです。
C-@ | レクタングルの開始(C-[SPACE]でも同じ) |
M-x kill-rectangle | レクタングルに保存 |
M-x delete-rectangle | レクタングルを削除 |
M-x yank-rectangle | レクタングルを挿入 |
M-x clear-rectangle | レクタングルを空白で埋める |
M-x open-rectangle | レクタングルを空白で埋め、右へずらす |
BS | カーソル左の文字を削除 |
C-d | カーソル位置の文字を削除 |
C-k | カーソル位置から行の末尾まで削除 |
C-w | 指定範囲を削除 |
C-y | リージョン、もしくは削除リングにある文字を表示(ヤンクする、と言う) |
テキストの複写と移動の例を示します。
abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZという文章があったとします。この2行の文章を例に複写と移動をしてみます。
C-x-f | ファイルのロード |
C-x-s | ファイルのセーブ |
C-x-w | ファイルの別名セーブ |
C-x i | カーソル位置にファイルを挿入 |
C-s string | stringを検索。C-s で次のstringを検索 |
C-r string | C-s と逆方向、つまり上方向に検索 |
ESC | 検索の終了 |
C-g | 検索を終了し、検索開始位置へ移動 |
M-x re-search-forward [RET] string | 正規表現で検索 |
M-x re-search-backward [RET] string | 正規表現で逆検索 |
北星学園にインストールされた Emacs では C-s で漢字の検索ができません。 しかし、M-% を使ったトリッキーな方法で漢字の検索もすることができます。 この M-% の使用法は次の『置換』を参照して下さい。
M-% KANJI [RET] KANJI [RET] | リターンで次の文字列を検索 |
ESC | 検索の終了 |
C-g | 検索を終了し、検索開始位置へ移動 |
M-% stirng1 [RET] string2 [RET] | 対話式の置換 |
y | 置換して次に移動(リターンでも同じ) |
n | 置換せず次に移動(BS キーでも同じ) |
! | これ以降のstring1を確認せずにstring2に置換 |
ESC | 検索の終了 |
C-g | 検索を終了し、検索開始位置へ移動 |
M-x replace-string string1 [RET] string2 [RET] | string1を確認せずにstring2に置換 |
C-x ^ | カーソルのあるウィンドウを縦方向に拡大 |
C-x } | カーソルのあるウィンドウを横方向に拡大 |
C-x 0 | カーソルのあるウィンドウを消去 |
C-x 1 | カーソルのあるウィンドウを最大表示 |
C-x 2 | ウィンドウを横に分割 |
C-x 5 | ウィンドウを縦に分割 |
C-x o | カーソルをほかのウィンドウに移動 |
M-C-v | 他のウィンドウのスクロール |
C-x 4 f | 他のウィンドウにファイルを読み込む |
C-l | 画面に突然文字が現れたときには気にせず C-l で消して下さい |
M-! | シェルコマンドの実行 grep や find などです |
M-x shell | シェルモードの実行 |
C-c-c | 割込を送る |
C-c-d | ファイルの終わりを送る |
C-c-o | 直前の実行結果をバッファから削除 |
C-c-r | 直前の実行結果の先頭へ移動 |
C-c-z | 停止シグナル(C-z)を送る |
% emacs . | Emacs を Dired モードで起動 |
C-x d | Emacs から Dired を起動 |
n | 次のファイル名にカーソルを動かす |
p | 前のファイル名にカーソルを動かす |
# | ファイル名の前後に # がついたファイルに削除マークをつける |
~ | ファイル名の末尾に ~ がついてファイルに削除マークをつける |
c | ファイルのコピー |
d | ファイルに削除マークをつける |
e | ファイルの編集 |
f | ファイルのロード |
M | ファイルモードの変更(chmod) |
o | 他のウィンドウを開いて編集 |
r | ファイル名の変更 |
u | 削除マークの取消 |
v | ディレクトリの移動、もしくはファイルの閲覧 |
x | 削除マークがついたファイルの削除 |
vm 用や gnus 用に Emacs をいくつも起動するのはもうやめましょう。
具体的な説明をしてみます。あなたは今、gnus で NetNews を読んでいるとします。すると、メールが届きました。vm を立ち上げたいとします。そうしたら、あなたは
M-x vm
として vm を起動してください。vm が起動したはずです。ウィンドウが gnus と分割されているかもしれません。そんな時は『ウィンドウ』を参照してください。C-x 1 と C-x o だけ知っていれば十分かもしれません。vm を読み終えたら普通に q で終了します。 gnus に戻ったと思います。
ここで、バッファを理解すれば、vm を終らせずにすみます。そうすれば、メールが来る度に vm を起動しなくてすむので便利です。今、vm を使っているとします。 gnus に戻るなら
C-x b *Newsgroup*
とします。gnus から vm に移るには
C-x b INBOX Summary
とします。この、 *Newsgroup* や INBOX Summary といった名前は C-x-b とすることが知ることができます。最初のうちはどれがどれだか分からないと思いますが、ここは経験です。
C-x b | 指定したバッファに切り替える |
C-x-b | バッファの一覧を表示 |
C-b k | 指定したバッファの削除 |
M-# | カーソルの下、もしくは次のスペルをチェック |
M-x spell-buffer | カレントバッファのスペルをチェック |
C-t | 2つの文字を入れ替え |
C-x-t | 2つの行の入れ替え |
M-u | ワードを大文字に変換 |
M-l | ワードを小文字に変換 |
C-x-u | リージョンされた範囲を大文字に変換 |
C-x-l | リージョンされた範囲を小文字に変換 |
M-x latex-mode
として下さい。 TeX モードには C-c-f がありませんが、その他のコマンドは全く同様に使うことができます。
C-j にあるパラグラフとは TeX でいうパラグラフです。つまりリターン2個のことです。 リターンを2個入れるより C-j としましょう。 Emacs が自動的にリターンを2個入れ、それと同時にシンタックス(構文)をチェックしてくれるからです。
C-j | パラグラフにし、シンタックスのチェック |
M-{ | {}を挿入し、{}の間にカーソルを移動 |
M-} | ブレス内にいるとき、}の後にカーソルを移動 |
C-c-b | バッファを LaTeX で処理する |
C-c-f | コマンドのペアを閉じる \begin{document} を打って C-c-f としてみて下さい |
C-c-k | LaTeX の処理を中断 |
C-c-l | 最後のエラーメッセージを処理 |
C-c-p | LaTeX の出力を印刷 |
C-c-q | 印刷待ちを表示(lpq) |
C-c-r | リージョンを LaTeX で処理します。 |
M-x validate-TeX-buffer | バッファ内のシンタックスをチェック |
M-x help-for-help | オンラインヘルプシステムの開始 |
b | カレントバッファのキーバインディング表示 vm や gnus を起動して試してください |
i | Info の実行 Emacs 上のオンラインヘルプ |
k | バインドされているコマンドとその動作 |
l | 最後にタイプした 100 個のキャラクタを表示 |
m | カレントバッファのモードの説明 |
T | NEmacs のチュートリアルを開始 |
M-x manual-entry | UNIX の man を実行します |
コマンド | 簡単な説明 |
というように紹介しています。コマンドはあなたがキーボードから入力するものです。
コマンドの所で C-x-c や M-% という表記を見ることになると思います。 大文字で書かれた C と M は CTRL キーと META(ESC) キーを表しています。 続く - は C か M を『押し続ける』ということです。 もし - がない場合にはその時点で C もしくは M から指を離すことを表します。 続く小文字の英数字はキーボードから入力する文字を表しています。
以下に簡単な例を示します。
C-x-c ... CTRL を押し続け x と c を押す C-x i ... CTRL を押し続け x を押し、CTRL を離して i を押す M-% ... META(ESC)キーを押し続け % を押すほかに、[RET]はリターンキーを表し、italicで書かれたものはあなたが決めて入力するものです。
例えば、ある行へ移動するコマンド
M-x goto-line [RET] n [RET]
があります。これは META(ESC) キーを押しながら x を押し、goto-line とキー入力してからリターンキーを押します。 そして、移動したい行番号を入力しリターンキーを押します。そうすると指定した行番号nへ移動します。
ここで一つテクニックを紹介します。goto-line を goto-l まで入力したら TAB キーを押してみて下さい。ine が補完されたと思います。 go で TAB したり、goto で TAB したりといろいろと試してみて下さい。 また、C-x i や C-x-f でファイル名を指定するときにも TAB を試してみて下さい。