あなたが現在見ているのは Emacs 入門ガイドです。ファイル最後を参照のこと。 Copyright (c) 1985, 1996, 1998, 2001, 2002 Free Software Foundation. Emacs のコマンドを入力するには、一般にコントロールキー(キートップに CONTROL とか CTRL とか CTL と書いてある)やエスケープキー(キートップ に ESC と書いてある)を使います。そこで、CONTROL とか ESC とかを書く 代わりに、次のような記法を使うことにします。 C-<文字> コントロールキーを押したまま、<文字>キーを押します。例えば、 C-f はコントロールキーを押しながら f のキーを押すことです。 M-<文字> エスケープキーを押してから離し、それから<文字>キー を押します。以降エスケープキーのことを と書きます。 メタキー (META や ◇ や ALT などと書かれたキー) がある場合、 メタキーを押したまま、<文字>キーを押すこともできます。 !重要!: Emacsを終了するには、C-x C-c をタイプします。 ">>" で始まる行は、その時何をすべきかを指示しています。 [このページの途中の空白行はわざと入れてあります。ガイドは下に続きます。] >> では C-v (次の画面を見る)をタイプして次の画面に進んで下さい。 (さあ、やってみましょう。コントロールキーを押しながら v です) 以降、一画面を読み終えるたびに同様にして次の画面に読み進んで下さい。 まずは、ファイルの中を移動して行く方法を知る必要があります。C-v によっ て次の画面に進むことはもう判りました。前の画面に戻るには、M-v ( を押して離して v)です。 >> 何度か M-v と C-v を試して下さい。 *ここまでの要約 ================ ファイルを画面毎に見て行くには、次のコマンドを使います。 C-v 次の画面に進む M-v 前の画面に戻る C-l 画面を書き直す。このとき、カーソルのある行が画面の中央に くるようにする。(C-1 じゃなくって C-L ですよ!) >> カーソルを見つけ、その近くにどんな文章が書かれているかを覚え、 それから C-l をタイプして下さい。 カーソルがどこに移動したか、その近くの文章はどうなったかを調べ てみましょう。 もしあなたのキーボードに PageUp や PageDn キーがあるなら、それらも画面 を移動するのに使えます。でも、C-v や M-v を使う方が効率的です。 *カーソル移動の基本 ======================== 画面毎の移動はできるようになりました。今度は、画面の中で、特定の場所に 移動するための方法を憶えましょう。 これにはいくつかのやり方があります。矢印キーを使うこともできますが、手 をキーボード上の標準位置から大きく動かさずに、 C-p、C-b、C-f、C-n を使 う方が効率的です。これらは4つの矢印キーと同じ働きをします。図で書けば、 次のようになります。 前の行,C-p : : 前の文字,C-b .... 現在のカーソル位置 .... 次の文字,C-f : : 次の行,C-n >> C-n と C-p でカーソルを上図の真中の行に動かして下さい。それから C-l をタイプして図の全体が画面中央にくるようにしてみましょう。 これらのコマンドはそれぞれ、Previous, Next, Backward, Forward の頭文字 になっているので、憶えやすいでしょう。これらは、カーソル移動の基本コマ ンドであり、頻繁に使うものです。 >> C-n を何回かタイプし、この行までカーソルを移動させましょう。 >> C-f を使って行の中ほどに移動し、C-p で何行か上に移動させましょう。 カーソルの位置の変化に注意して下さい。 また、 C-a と C-e はそれぞれ行頭と行末に移動します。 >> C-a と C-e を試しましょう。 文章中でカーソルがある位置を「ポイント」と呼びます。言いかえれば、カー ソルは、文章のどこにポイントがあるかを画面上で示しているのです。 以下に単純なカーソル移動操作について要約します。このなかには、単語や行 単位での移動コマンドも含まれています。 C-f 一文字次に進む C-b 一文字前に戻る C-n 次の行に移動 C-p 前の行に移動 C-a 行頭に移動 C-e 行末に移動 >> これら全部を何度か試して練習しましょう。 どれも頻繁に使うコマンドです。 あと二つ、重要なカーソル移動コマンドがあります。ファイルの先頭に移動す る M-< と、ファイルの末尾に移動する M-> です。 大抵の端末では "<" キーは "," キー(コンマ)の上にあり、それをタイプす るにはシフトキーを使う必要があります。したがって M-< をタイプするには、 メタキーとシフトキーとコンマキーを同時に押さねばなりません。 >> M-< を試して、この入門ガイドの先頭に移動しましょう。 それから、C-v を何度か使ってここまで帰ってきてください。 >> M-> を試して、この入門ガイドの末尾に移動しましょう。 それから、M-v を何度か使ってここまで帰ってきてください。 もし端末に矢印キーがあれば、それを使ってカーソルを動かすこともできます。 けれど、次の3つの理由から C-b, C-f, C-n, C-p を覚えることを勧めます。 第一に、これらはどんな端末でも使えます。第二に、Emacs を使うのが上達し てくれば、これらのコントロール文字を打つ方が、矢印キーを打つよりずっと 速いことが分るでしょう(手を通常の位置から大きく動かさないでよいので)。 最後に、一度これらのコントロール文字を打つ習慣を付けたら、もっと進んだ カーソル移動コマンドも簡単に覚えることができます。 もし X や MS-Windows のウィンドウシステムを使っているのなら、スクロー ルバーと呼ばれる縦長の四角いエリアが Emacs のウィンドウの左端にあるは ずです。そこをマウスでクリックして画面をスクロールさせることもできます。 >> スクロールバーの中でマウスの真中のボタンを押してみましょう。ボタン を押した位置で決まる文章の位置まで画面がスクロールします。 >> スクロールバーの中で真中のボタンを押したままマウスを上下に動かして みましょう。それに合せて画面がスクロールするのが分るはずです。 * Emacs がハングした時(動かなくなった時) ========================================== もし Emacs がコマンドに反応しなくなったら、C-g をタイプすることでEmacs を安全に止めることができます。C-g でとても時間のかかるコマンドを止める ことができます。 C-g はまた、数値引数を取り止めたり、2つ以上のキー入力を必要とする コマンドを入力している最中にそれを取り止めたりするのにも使えます。 間違って をタイプしてしまった時も、C-g でそれを取り消せます。 *ウィンドウ ============ Emacs は幾つものウィンドウに、それぞれ個別の文章を表示することができま す。どうやって複数のウィンドウを操作するかは後程説明しますが、ここでは、 どうやって余分なウィンドウを消して、元の一つのウィンドウの状態に戻るか を説明します。それは簡単です。 C-x 2 ウィンドウを2つに分ける C-x 1 ウィンドウを1つにする(つまり他のウィンドウを全部消す) つまり C-x を打ってからさらに 1 を打つのです。このコマンドはカーソルの あるウィンドウを画面全体に広げます。他のウィンドウは全部消えます。 >> カーソルをこの行に持ってきて、C-x 2 とタイプしてみて下さい。 >> 続いて C-x 1 とタイプして下さい。 新しいウィンドウが現れるとともに、 このウィンドウがどのように縮むかを見て下さい。 >> C-x 1 とタイプして、ウィンドウが1つになるのを見て下さい。 このコマンド (C-x 1) はこれまでに覚えたコマンドとは異なり、2つのキー からなります。最初のキーが Control-x です。このキーは、多くのコマンド を始めるための最初のキーです。それらのコマンドの多くはウィンドウ、ファ イル、バッファ、それらに関係するものを操作するためのもので、2あるいは 3、4個のキーを必要とするものがあります。 *挿入と削除 ============ 文章を入力したければ、単にそれをタイプして下さい。Emacs は、目に見える 文字(A, 7, * 等)を文章であるとみなすので、それらはそのまま挿入されま す。(改行キー)をタイプすれば改行文字が挿入されます。 直前に入力した文字を削除するには、 をタイプします。 >> 文字をいくつかタイプし、それからそれらを を使って削除し て下さい。このファイルを変更することを気にする必要はありません。オ リジナルの入門ガイドファイルは変更されませんから。今見ているファイ ルはあなたのためのコピーです。 文章の一行が画面に収まらない程長くなった場合、その行は画面上の次の行へ と継続(continued)されます。画面の右端の backslash 文字 "\" (あるい は、もしウィンドウシステムを使っているなら、小さな曲った矢印)は、その 行が継続されていることを表しています。 >> 画面の右端まで文章を入力し、さらに入力を続けて下さい。 継続行ができるのが分るでしょう。 改行文字も他の文字と同じように削除できます。2つの行の間の改行文字を消 すとそれらの行が合わさり1つの行になります。もしその合わさった行が画面 の幅よりも長い場合は、継続行となって表示されます。 >> カーソルを行の先頭に移動し、 をタイプして下さい。現在の行が その前の行とつながります。 >> をタイプして、今削除した改行文字をまた挿入して下さい。 これで、Emacs で文章を入力し、また間違いを修正するもっとも基本的な方法 を学んだことになります。文字と同じ様に、単語や行も削除することができま す。削除操作について要約すると次のようになります。 カーソルの直前の文字を削除(delete) C-d カーソルのある文字を削除(delete) C-k カーソル位置から行末までを切り取り(kill) 「切り取り(kill)」と「削除(delete)」の違いに気をつけて下さい。一旦 切り取ったものは、再度挿入することができます。これを貼り付け(yanking) と呼びます。 >> 空行でない行の先頭にカーソルを移動させて下さい。 それから C-k でその行の文章を消去して下さい。 >> もう一度 C-k をタイプしてください。その行に続く改行文字が消されるの が分りましたか。 一回目の C-k はその行の文章を消し、2回目の C-k はその行自身を消してそ の先の行を上げてきます。 切り取った文章を復活させる操作を貼り付け(yanking)と呼びます。消した 文章は、元と同じ場所にでも元とは違う場所にでも、さらには別のファイルに も再入できます。また、何度も再入して文章のコピーを複数作ることもできま す。 再入のためのコマンドは C-y です。これは、最後に消去した文章を現在カー ソルがある位置に再入します。 >> 試して下さい。C-y をタイプして最後に消去した文章を再入しましょう。 C-k を続けて実行すると、消去した各行は全部まとめて保存されるので、一回 の C-y でそれらの行が全部再入されます。 >> C-k を何度か続けてタイプしてみて下さい。 さあ、消去した文章を再入しましょう。 >> C-y をタイプして下さい。次にカーソルを数行下に移動させ、また C-y を タイプして下さい。どうやって文章をコピーするか分りましたね。 *リージョン ============ コピー・ペーストなどを行うために、文章中で指定する対象範囲をリージョン (region) と言います。まずリージョンを指定し、そのリージョンに対して、 コピーや切り取りなどのコマンドを入力します。 リージョンの開始位置を指定するには、カーソルを移動し C- をタイ プします。( はスペースキーのことです) 次に、範囲の終わりにカー ソルを移動し、コピーであれば M-w を入力し、切り取りであれば C-w を入 力します。 これらの領域を張り付けるには、先ほどと同様に C-y コマンドを使います。 >> 適当な段落の最初にカーソルを移動し C- を入力し、 リージョンの開始位置を指定し、次に段落の最後に移動し、 M-w を入力し段落の内容をコピーし、適当な位置で C-y を入力し ペーストしましょう。 >> 適当な段落で C- と C-w を使い、段落の内容を切り取り、 適当な位置で C-y を入力しペーストしましょう。 *取り消し(UNDO) ================ もし、文章を変更した後でその変更は間違いだったと思ったら、取り消し (undo)コマンド C-x u でその変更を取り消すことができます。 通常、C-x u は一つのコマンドによる変更を取り消します。続けて何度も C-x u を行えばそのたびに一つ前のコマンドが取り消しになります。 >> この行をC-kで消して下さい。そして、C-x u で戻して下さい。 C-/ も取り消し(undo)を行なうコマンドです。機能は、C-x u と同じですが、 続けて何度もタイプする場合はより便利です。 *ファイル ========== Emacs でファイルを作成するためには、そのファイルを開き (find) 、編集し、 保存 (save) する必要があります。 画面の一番下近くに、"-J:-- TUTORIAL.ja" の様な文字列で始まり "----" で 終っている行があるはずです。通常は画面のこの部分に現在開いているファイ ルの名前が表示されています。今は "TUTORIAL.ja" という名のファイル(こ れは Emacs 入門ガイドのあなた用のコピーです)を開いています。Emacs で ファイルを開くとそのファイルの名前がこの部分に現れます。 ファイルを開くためのコマンドはこれまで学んだものとは違い、ファイルの名 前を指定しなければなりません。次のコマンド C-x C-f ファイルを開く (find) をタイプすると、Emacs はファイル名を聞いてきます。タイプしたファイル名 は画面の最下行に表示されます。この最下行は、こういう入力のために使って いる時は、ミニバッファと呼びます。 ファイル名の入力中(あるいはその他のミニバッファ入力中)に C-g によっ てコマンドをキャンセルできます。 >> C-x C-f をタイプしてから C-g をタイプしてみましょう。ミニバッファが 取り消され、それを使っていたコマンド C-x C-f 自体も取り消されます。 だから、ファイルは何も開かれません。 ファイル名を入力したら、キーをタイプし入力を完了させます。そう すると、C-x C-f コマンドが走り始め指定したファイルを開きます。ミニバッ ファは C-x C-f コマンドの終了とともに消えます。 ファイルの内容が画面に表示されると、その内容を変更することができます。 変更した内容を保存するには、次のコマンドをタイプします。 C-x C-s ファイルをセーブする セーブし終わると、セーブしたファイルの名前が表示されます。割と頻繁にセー ブした方が良いでしょう。システムが落ちてもせっかくの作業がパアにならな いように。 >> C-x C-s とタイプしてこの入門ガイドのコピーをセーブして下さい。 画面最下段に "Wrote ...TUTORIAL.ja" と表示されます。 また、存在しないファイル名を指定して開くと、Emacs は新たにファイルを作 成することになります。 *バッファ ========== Emacs では同時に2つ以上のファイルを開き編集することができます。 2つ目のファイルを C-x C-f で開いても、最初のファイルは Emacs 内部に残っ たままです。そっちのファイルに戻るにはもう一度 C-x C-f でそのファイル を開けばよいのです。こうやって、幾つものファイルを Emacs で開くことが できます。 >> "foo" という名のファイルを作りましょう。C-x C-f foo です。 何か文章を入れ、編集し、C-x C-s で "foo" をセーブして下さい。 最後に C-x C-f TUTORIAL.ja とタイプし 入門ガイドに戻りましょう。 Emacs はファイルの内容をバッファ(buffer)と呼ばれるものの中に格納して います。ファイルを開くと新しいバッファができます。Emacs が現在持ってい るバッファのリストを見るには、次のようにタイプします。 C-x C-b バッファのリストを見る >> C-x C-b を試してみましょう。 各バッファがどんな名前になっているか、それが開いているファイルの名前が どうなっているか見て下さい。Emacs のウィンドウ内にある文章はどれも、い ずれかのバッファの一部です。 >> C-x 1 とタイプしてバッファリストを消しましょう。 C-x 1 は現在編集中のバッファを Emacs の画面全体に表示するコマンドです。 (このコマンドは「現在自分がいるウィンドウだけにしなさい」というものだと 思って下さい。) 開いているバッファに切替えるもっと簡単な方法もあります。C-x b コマンド です。このコマンドをタイプして、バッファの名前を入力すれば良いのです。 >> C-x b foo とタイプして、 "foo" というファイルを開いている "foo" バッファに戻ってみましょう。それから C-x b TUTORIAL.ja とタイプして、このガイドに戻りましょう。 普通は、バッファの名前とそれが開いているファイルの名前は同じです。 *複数のウィンドウ ================== Emacs の素敵な機能の一つとして、一つの画面に同時にいくつものウィンドウ を表示することができます。 >> C-x 2 で画面を2つのウィンドウに分割しましょう。どちらのウィ ンドウもこのガイドを表示しています。カーソルは上のウィンドウ内です。 >> C-x o ("o" は "other(他方)" を意味します)をタイプし下のウィンド ウにカーソルを移して下さい。 >> もう一度 C-x o とタイプし、カーソルを上のウィンドウに戻します。 カーソルは上のウィンドウの元あった位置に戻ります。 C-x o を使ってウィンドウ間を行ったり来たりできます。 >> 上のウィンドウで C-x 1 とタイプし下のウィンドウを消しましょう >> C-x 3 で画面を2つのウィンドウに分割しましょう。どちらのウィ ンドウもこのガイドを表示しています。カーソルは上のウィンドウ内です。 >> C-x o ("o" は "other(他方)" を意味します)をタイプしウィンド ウを行ったり来たりしましょう。 >> 左のウィンドウで C-x 1 とタイプし右のウィンドウを消しましょう 今の例では、両方のウィンドウに同じファイルを表示させていましたが、 ウィンドウごとに別のファイルを編集することもできます。 *検索 ====== 文章中の特定の文字列を、前向きにも後向きにも探す事ができます。 Emacs の検索コマンドは他の大概のエディタの検索コマンドとは異り「インク リメンタル」です。検索する文字列をタイプしているそばから検索が起るので す。 検索を始めるためのコマンドは、前向きに検索するならば C-s、後向きなら C-r です。まだです!!今はまだ試さないで下さい。 C-s を打つと "I-search" という文字列がエコーエリアに表示されるのが見え るでしょう。これは Emacs がインクリメンタル検索という状態にいて、あな たが探したい文字列を入力するのを待っているのです。 を打てば検 索を終われます。 >> さて C-s とタイプして検索を始めましょう。ゆっくりと1文字ずつ "cursor" という単語を入力します。1文字打つ毎にカーソルがどう動くか 見ましょう。 さあ、"cursor" が1回見つかりました。 >> もう一度 C-s と打って次の "cursor" を見つけましょう。 >> 今度は を4回打って、カーソルの動きを見て下さい。 >> と打って検索を終了しましょう。 何が起ったか分りますか?インクリメンタル検索では、あなたがそれまでに打っ た文字列が現れるところに行こうとします。次の "cursor" に行くにはもう一 度 C-s と打ちます。もしもうそういう文字列が無かったら、ベルをならして 検索が現在は失敗していることを知らせます。C-g を打てば検索を終われます。 インクリメンタル検索の途中で を打つと検索文字列中の1番最後 の文字が消えます。そして、カーソルは、前回の位置に戻ります。たとえば、 "c" とタイプして最初の "c" を探します。それから "u" を打つと最初の"cu" の場所にカーソルが動きます。そこで を打つと "u" を検索文字列 から消して、カースルは最初に "c" が現れた場所に戻ります。 C-s は、現在のカーソル位置以降に出てくる検索文字列を探し始めます。もし、 文章の前の方を探したかったら、C-r をタイプします。これまでの C-s につ いての説明はすべて C-r にも当てはまります。検索の方向が反対なだけです。 *置換 ====== 文章中の文字列を別な文字列で置き換えたい場合、 M-% コマンドを使います。 M-% を入力すると、最下行のエコーラインに Query replace: と表示されます。 ここで置換元の文字列を入力し、次に置換後の文字列を順に入力します。 置換する文字列を見つけると、その文字列の位置にカーソルが移動し本当に置 換を行うか聞かれますので y か n で答えてください。 一つ一つ確認せずに一気に置換を行うためのコマンドは M-x replace-string です。これは キーを押してすぐ離して、つぎにキーボードから 「replace-string」と入力し キーを押します。 このように M-x を入力してから、キーボードでコマンドを入力するコマンド を「拡張コマンド」と言います。 *コマンドの拡張 ================ Emacs には、コントロール文字やメタ文字に割当てられるよりもずっとずっと 多くのコマンドがあります。これらを扱うために、拡張(eXtend)コマンドを 使います。それには、以下の2つの種類があります。 C-x 文字による拡張。続けて一文字を入力します。 ESC x 名前による拡張。続けてコマンドの名前を入力します。 これらは、一般的には便利だけれども、これまで見てきたものほどは頻繁に用 いられないコマンドです。C-x C-f (ファイルを開く)や C-x C-s(ファイル をセーブ)はこの仲間です。他に、C-x C-c(Emacs を終了)もそうです。C-x C-c に関しては、それまでに加えた変更が無くなるのを心配する必要はありま せん。Emacs を終了させる前に、変更された各ファイルをセーブするかどうか 聞いてきますから。 C-z は「一時的に」 Emacs を抜けるコマンドです。また同じ Emacs セッショ ンに戻ることができます。 それができるシステム上なら、C-z は Emacs を「中断」させます。つまり Emacs を終了することなく、コマンドシェルに戻ることができます。大方の標 準的なシェルなら、`fg' コマンドもしくは `%emacs' によって Emacs を再開 できます。 「中断」機能を実装していないシステムでは、C-z は Emacs の下で走るサブ シェルを作り、他のプログラムを走らせてからまた Emacs に戻ることができ るようにします。この場合本当に Emacs から抜け出るわけではありませんの で、シェルコマンドの `exit' がそのサブシェルから Emacs に戻る普通のや り方です。 C-x C-c はログアウトしようと思う時に使うものです。メールツール(mail コマンド等)やその他の様々なアプリケーションプログラムが起動した Emacs から抜け出る場合に使うのも正しいやり方です。これらのプログラムは Emacs の中断にどう対処して良いか知らないでしょうから。しかしながら、普通の場 合は、ログアウトしようとしない限りは Emacs を終了させるよりは C-z で中 断させる方が良いでしょう。 C-x コマンドはたくさんあります。これまでに、以下を学びました。 C-x C-f ファイルを開く(Find) C-x C-s ファイルのセーブ(Save) C-x C-b バッファのリストアップ C-x C-c Emacs を終了 C-x 1 ウィンドウを1つにする(つまり他のウィンドウを全部消す) C-x u 取り消し 名前による拡張コマンドには、あまり使わないものや、特定のモードでしか使 わないものがあります。たとえば replace-string ですが、これは文字列を置 換するものです。M-x をタイプすると、Emacs は画面の最下行に M-x と表示 し入力を促すので、そこにコマンドの名前(この場合 "replace-string")を 入れなければなりません。"repl s" とだけタイプすると Emacs がコマ ンド名を補完してくれます。( はタブキーです。普通は、キーボードの 左端、CapsLock もしくは Shift キーの近くにあります。)コマンド名を入れ たら を打って下さい。 "Replace string" コマンドには引数が二つ必要です。どの文字列をどう置換 するかです。各引数を入力するたびに を打って下さい。 >> カーソルをここから2行下の空行に移動させて下さい。 M-x repl schangedAltered とタイプしましょう。 この行がどう変わるか(changed)見ましょう。あなたはカーソル以降全部の c-h-a-n-g-e-d という語を "altered" に変えたのです。 *エコーエリア ============== もしゆっくりとコマンドを打ったならば、画面の下のエコーエリアと呼ばれ る場所に打ったものが表示されます。エコーエリアは画面の最下行です。 *モードライン ============== エコーエリアのすぐ上の行は、モードラインと呼びます。モードラインはこん な風に見えるでしょう。 -E:** TUTORIAL.ja (Fundamental)--L670--58%---------------- この行は Emacs の状態及び編集中の文章について有益な情報を与えてくれま す。 最初の E の部分はこのファイルの文字コードを示しています。J であれば JIS (ISO-2022-JP) 、E であれば EUC (EUC-JP) 、S であればシフト JIS (Shift_JIS) であることを示しています。 現在の文字コードを変更するには C-x f コマンドを使います。ここ で JIS は iso-2022-jp 、EUC は euc-jp 、シフト JIS は shift_jis と入力 します。 次の : の部分は改行コードを示します。 : は UNIX で用いられている LF 、 (DOS) は主に Windows で用いられている CR+LF 、(Mac) は Mac で用いられ ている CR が改行コードとして使われていることを示します。 次の ** の部分はファイルの変更状態を示しています。 -- はファイルが開か れてから無変更の状態、** はファイルが変更され未保存の状態、%% はファイルが 読み込み専用で開かれていることを示します。 ファイル名についてはもう分っていますね。それはあなたが開いたファイルで す。-NN%-- は文章中の現在位置を示しています。文章の NN% が画面最上段よ り前にあるということです。もし文章の最初の行が画面にある時には --00%-- の代りに --Top-- と表示します。もし文章の最後の行が画面にある時には --Bot-- と表示します。もし画面に全部収まってしまうような短い文章を見て いるときには --All-- と表示します。 L とそれに続く数字は現在の行番号を示しています。 括弧に囲まれた部分はどんな編集モードにいるかを示します。デフォルトは "Fundamental" というモード、これが現在のモードです。これは「メジャーモー ド(major mode)」の一例です。 Emacs には多くの種類のメジャーモードがあります。Lisp mode やText mode のように、どんなプログラム言語やどんな種類の文章を編集中かを意味するも のもあります。いつでも必ずいずれかのメジャーモードの状態になっています。 どのメジャーモードにいるのかは、モードラインの現在は "Fundamental" と 表示している部分を見れば分ります。 各メジャーモードは幾つかのコマンドに異なる振る舞いをさせます。例えば、 プログラムリスト中にコメントを入れるためのコマンドがあります。コメント の形式(シンタックス)は、プログラム言語によって異なり、メジャーモード は、それに対応する言語に合った形式でコメントを挿入します。各メジャーモー ドは拡張コマンドの名前になっています。つまりその拡張コマンドを使ってメ ジャーモードを切り換えるのです。例えば、M-x fundamental-mode というの は Fundamental モードに切り換えるためのコマンドです。 もし、通常の英語や日本語の文章(このファイルのような)を編集するのなら ば、Text mode を使いましょう。 >> M-x text-mode とタイプしてみて下さい。 他に、 HTML を編集する html-mode や sgml-mode 、Java のソースファイル を編集する java-mode などがあります。 *日本語入力 ============ C-o 日本語モード (egg-かんな) ON/OFF または 記号モード (C-g で解除) 日本語モード中の機能 変換と次の変換候補の表示 確定 C-i, C-o 文節長の伸縮 C-f, C-b 文節間を進む/戻る C-n, C-p 次の変換候補へ進む, 前の変換候補へ戻る, カタカナ変換,ひらがな変換 >> 「階段から落ち手首を折った」「階段から落ちて首を折った」 と入力してみましょう。 また、リージョンを指定して M-x canna-touroku-region コマンドを使うと、 ユーザ辞書に単語登録ができます。 *その他 ======== M-x goto-line 任意の行へジャンプ C-x 5 2 新たなフレーム (独立したウィンドウ) を開く C-x 5 0 フレームを閉じる マウスの右ボタンのドラッグ リージョンの指定 マウスの中央ボタン 指定されたリージョンのコピー *自動セーブ ============ ファイルに変更を加えてまだセーブしていない場合、それらの変更は計算機が クラッシュすると失われてしまう可能性があります。そういう事態を避けるた め、編集中の各ファイルについて自動セーブファイルが定期的に書かれます。 自動セーブファイルは頭とお尻に # が付いています。例えば "hello.c" とい うファイルの自動セーブファイルは "#hello.c#" です。通常の方法でファイ ルをセーブしたときに、そういう自動セーブファイルは消されます。 計算機がクラッシュした場合、自動セーブされた編集を回復させることができ ます。普通にファイル(編集していたもので、自動セーブファイルじゃありま せん)を開き、それから M-x recover file とタイプするのです。確 認を求めてきますので、yes とタイプし自動セーブされたデータを回 復します。 *再帰編集レベル (RECURSIVE EDITING LEVELS) 時々(不本意に)再帰編集レベルと呼ばれる状態に入ることがあります。モー ドラインのメジャーモード名を囲む丸括弧 "()" がさらに鉤括弧 "[]" で囲ま れます。例えば、(Fundamental) と表示される代わりに [(Fundamental)] の ようになります。 再帰編集レベルから抜け出すには ESC ESC ESC とタイプします。これは汎用 「抜け出し」コマンドです。余分なウィンドウを消したり、ミニバッファから 抜けたりするのにも使えます。 >> M-x とタイプしミニバッファに入って下さい。それから ESC ESC ESC とタ イプし抜け出してみましょう。 C-g では再帰編集レベルからは抜け出せません。これは、C-g が再帰編集レベ ル内でのコマンドや引数を取り消すのに使われているからです。 *もっともっとヘルプ ==================== この入門ガイドでは Emacs を使い始めるのに十分な情報を提供したつもりで す。Emacs にはあまりにも多くの機能があるので、ここですべてを説明するの は無理です。役に立つ機能をもっと多く学びたいと思う人のためには、Emacs のコマンドの説明を読むためのコマンドがあります。 ヘルプ機能を使うには、C-h に続いてどんな種類のヘルプが必要かを示す1文 字をタイプします。もしそれすら分らない場合は C-h ? とタイプしましょう。 どんな種類のヘルプを提供できるかが示されます。もし、C-h をタイプしてか ら気が変わったら、C-g をタイプして取り消すことができます。 (サイトによっては C-h 文字の意味を変更しているかもしれません。ユーザ 全員に対する総括的な手段としてそんなことをするべきではありません。そう いう場合はシステム管理者に文句を言いましょう。ま、ともかく、もし C-h が画面の下の方にヘルプのメッセージを出さなければ、F1 キーか M-x help を試してみて下さい。) 最も基本的なヘルプ機能は C-h c です。C-h、それから c、そしてコマンドの キー若しくはそのシーケンスをタイプすると、そのコマンドについての短い説 明を表示します。 >> C-h c C-p とタイプしてみましょう。 以下のようなメッセージが表示されるはずです。 C-p runs the command previous-line これは「ファンクションの名前」を表示したのです。ファンクション名は主に Emacs をカスタマイズしたり拡張したりするのに使われます。しかし、ファン クション名はそのコマンドが何をするものなのかが分るように付けられますの で、簡単な説明としてもそのまま役に立ちます。一度学んだコマンドについて 思い出すには十分です。 C-x C-s や(メタキーやアルトキーがない場合の) v などの複数文字 のコマンドを C-h c の後にタイプすることもできます。 コマンドについてもっと多くの情報が欲しければ C-h c の代わりに C-h k を 使います。 >> C-h k C-p とタイプしてみましょう。 Emacsのウィンドウに、コマンドの名前と同時にその機能の説明が表示されま す。読み終えたら、C-x 1 とタイプしてヘルプの文章を消しましょう。必ずし もすぐにそうする必要はありません。ヘルプの文章を見ながら編集を続け、そ れから C-x 1 とタイプしても構いません。 C-h には他にも役に立つオプションがあります。 C-h f ファンクションの説明。ファンクション名を入力します。 >> C-h f previous-line とタイプしてみましょう。 C-p コマンドを実行するファンクションについてのすべての情報を表示し ます。 これに似たコマンド C-h v はその値をセットするとこによって Emacs の振舞 いをカスタマイズできる変数の説明を表示します。変数名の入力をプロンプト にしたがって入力します。 C-h a コマンドアプロポス (command apropos)。キーワードを入力 すると、そのキーワードを名前に含む全てのコマンドをリス トアップします。これらのコマンドは全て M-x で実行でき ます。コマンドによっては、それを走らせるための1文字か 2文字のシーケーンスも表示されます。 >> C-h a file とタイプしてみて下さい。 "file"という文字列を名前の一部に持つ全ての M-x コマンド(拡張コマンド) を別のウィンドウに表示します。 C-x C-f のような文字コマンドも対応する 名前(find-file のように)に並んで表示されます。 >> C-M-v とタイプしヘルプのウィンドウをスクロールさせましょう。何度か やって下さい。 >> C-x 1 でヘルプウィンドウを消して下さい。 C-h i オンラインマニュアル(Info)を読む。このコマンドを使う と、あなたは `*info*' という名の特殊なバッファに移され ます。そこで、システムにインストールされているパッケー ジのオンラインマニュアルが読めます。 m emacs とタイプすれば Emacs のマニュアルが読めます。もし Info を使うのが初めてなら、? とタイプしましょう。Info モー ドのガイドツアーが始まります。この入門ガイドを読み終え た後は、Emacs の Info マニュアルをあなたの教本にして下 さい。 *もっと多くの機能 ================== 本のマニュアルであろうとオンラインマニュアル(Help メニューを使うか F10 h r)であろうと、それを読めば Emacs についてもっと多くを学べます。 あなたが特にお気に召すであろう機能に、タイプ数を減らしてくれる補完 (completion)と、ファイルの扱いを単純化してくれるディレクトリ編集 (dired) の2つのがあります。 補完(completion)は、不必用なタイプを省くためのものです。たとえば、も し *Message* バッファに切替えたければ、C-x b *M とタイプするだけ で、Emacs は残りのバッファ名を、既にタイプした部分から決定できる限り、 埋めてくれます。補完は Info の Emacs マニュアルの "Completion" という ノードで、説明されています。 ディレクトリ編集(dired)は、ディレクトリやそのサブディレクトリ中のファ イルをリストアップし、リスト中を移動しながら、ファイルを開く、名前を変 更する、削除する、その他の操作を行う、などができます。ディレクトリ編集 は、Info の Emacs マニュアルの "Dired" というノードで、説明されていま す。 マニュアルは、Emacs のその他の多くの機能について説明しています。 *おわりに ========== 忘れないで!Emacs を終了するには、C-x C-c です。また Emacs に戻って来 られるように一時的にシェルに戻るだけなら C-z です。 この入門ガイドは、まったくの初心者にもわかりやすいようにと意図していま す。ですから、もし何かわかりにくい点があったなら、自分を責めないで、私 達に文句をつけて下さい。 *この翻訳版についての謝辞 ========================== この文書は Emacs Ver.21 付属の英語版の入門ガイドを日本語に翻訳したもの です。その際、Emacs Ver. 20 附属の日本語版入門ガイドをベースにしました。 Emacs Ver. 20 附属の日本語版入門ガイドは、Mule 付属の日本語ガイドを参 考にしたもので、その元は SANETO Takanori 氏が日本語 MicroEmacs(kemacs) 入門編として翻訳され、それを鈴木裕信氏 が Nemacs/Mule 用に変更、さらに吉田茂樹氏が修正されたものです。これらの方々 に深く感謝します。 *著作権表示 ============ ここに元の英語版の著作権表示をそのまま付けます。この翻訳版もこれに従い ます。 This tutorial descends from a long line of Emacs tutorials starting with the one written by Stuart Cracraft for the original Emacs. This version of the tutorial, like GNU Emacs, is copyrighted, and comes with permission to distribute copies on certain conditions: Copyright (c) 1985, 1996, 1998, 2001, 2002 Free Software Foundation Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the copyright notice and permission notice are preserved, and that the distributor grants the recipient permission for further redistribution as permitted by this notice. Permission is granted to distribute modified versions of this document, or of portions of it, under the above conditions, provided also that they carry prominent notices stating who last altered them. The conditions for copying Emacs itself are more complex, but in the same spirit. Please read the file COPYING and then do give copies of GNU Emacs to your friends. Help stamp out software obstructionism ("ownership") by using, writing, and sharing free software! ;;; Local Variables: ;;; coding: iso-2022-jp ;;; End: