Copyright (c) 1985, 1996 Free Software Foundation, Inc. 使用条件はファイル最後を参照のこと あなたが現在見ているのは XEmacs 入門ガイドです。 XEmacs のコマンドを入力するには、一般にコントロールキー(キートップに CTRL とか CTL と書いてある)やメタキーを使います。キーボードによっては、 META キーは ALT や EDIT と書かれていたり、他のものであったりします (例えば、Sun のキーボードでは、スペースバーの左のダイアモンドキーが META です)。META キーが無い場合は、ESC を代わりに使うことができます。 そこで、META とか CONTROL とかを書く代わりに、次のような記号を使うこと にします。 C-<文字> コントロールキーを押したまま、<文字>キーを押します。例えば、 C-f はコントロールキーを押しながら f のキーを押すことです。 M-<文字> メタキーを押したまま、<文字>キーを押します。もしメタキーがな い場合は、エスケープキーを押してから離し、それから<文字>キー を押します。以降エスケープキーのことを と書きます。 !重要!: XEmacsを終了するには、C-x C-c をタイプします。 ">>" で始まる行は、その時何をすべきかを指示しています。例えば、 <> >> では C-v (次の画面を見る)をタイプして次の画面に進んで下さい。 (さあ、やってみましょう。コントロールキーを押しながら v です) 以降、一画面を読み終えるたびに同様にして次の画面に読み進んで下さい。 前の画面と次の画面とでは、表示される内容に何行かの重なりがあります。こ れは、表示されている内容が連続していることがすぐ判るようにするためです。 まずは、ファイルの中を移動して行く方法を知る必要があります。C-v によっ て先に進むことはもう判りました。元に戻るには、M-v (メタキーを押しなが ら v、もしくは を押して離して v)です。 >> M-v と C-v を使って、前後に移動することを何回か試して下さい。 *ここまでの要約 ================ ファイルを画面毎に見て行くには、次のコマンドを使います。 C-v 次の画面に進む M-v 前の画面に戻る C-l 画面を書き直す。このとき、カーソルのある行が画面の中央に くるようにする。(C-1 じゃなくって C-L ですよ!) >> カーソルを見つけ、その近くにどんな文章が書かれているかを覚え、 それから C-l をタイプして下さい。 カーソルがどこに移動したか、その近くのテキストはどうなったかを調べ てみましょう。 *基本的なカーソルの制御 ======================== 画面毎の移動はできるようになりました。今度は、画面の中で、特定の場所に 移動するための方法を憶えましょう。 これにはいくつかのやり方があります。一番基本的な方法は C-p, C-b, C-f, C-n を使うことです。これらはそれぞれカーソルを前の行、前の文字、次の文 字、次の行に移動させます。図で書けば、 前の行,C-p : : 前の文字,C-b .... 現在のカーソル位置 .... 次の文字,C-f : : 次の行,C-n >> C-n と C-p でカーソルを上図の真中の行に動かして下さい。それから C-l をタイプして図の全体が画面中央にくるようにしてみましょう。 これらのコマンドはそれぞれ、Previous, Next, Backward, Forward の頭文字 になっているので、憶えやすいでしょう。これらは、基本的なカーソル移動コ マンドであり、いつでも使うものです。今ここで覚えて下さい。 >> C-n を何回かタイプし、(今、あなたが読んでいる)この行までカーソル を移動させましょう。 >> C-f を使って行の中ほどに移動し、C-p で何行か上に移動させましょう。 カーソルの位置の変化に注意して下さい。 各行の最後には(目には見えない) Newline 文字があります。これは次の行 との区切りを示すためです。ファイルの最後も Newline を付けるべきです (もっとも XEmacs はそれを強制はしませんが)。 >> 行の先頭で C-b をタイプしてみましょう。カーソルは前の行の末尾に移動 するはずです。これは C-b が前の Newline 文字を越えて戻ったからです。 同様に C-f はカーソルを Newline 文字を越えて次に進めることができます。 >> さらにもう少し C-b をタイプしてカーソル移動の感じを把んで下さい。 今度は C-f で行末まで進んで下さい。 さらにもう一度 C-f をタイプして次の行に進んで下さい。 画面の先頭や末尾を越えてカーソルを移動させようとすると、その方向にある 文章が画面の中に移動して来てます。これを「スクロール」と呼びます。画面 がスクロールすることによって、カーソルを移動させても、カーソルは常に画 面内にあるようにされます。 >> C-n を使って、カーソルを画面の下端より下に移動させてみなさい。何 が起こりましたか? 一文字単位の移動ではまどろっこしいなら、単語単位で移動することもできま す。M-f ( f) で一単語先へ、M-b ( b) で一単語前へ移動します。 注意: 日本語については、単語の切れ目を認識することはできませんが、疑 似的な文節を単語の切れ目としています。 >> M-f や M-b を何回か試してみましょう。 単語の中程にいる時は、M-f はその単語の終わりまで進みます。もし空白文字 にいる時には M-f は次の単語の終わりまで進みます。M-b も同様です、方向 は逆ですが。 >> M-f と M-b を C-f と C-b を交えながら数回試し、単語の中に入る時と、 単語と単語の間にいる時の動きを調べて下さい。 C-f と C-b に対する、M-f と M-b の類似性に注目しましょう。多くの場合、 メタキーは文書を構成するユニット(単語、文、段落)に対する操作に使い、 コントロールキーはそれよりももっと基本的な対象(文字とか行等)に対する 操作に使います。 この類似性は行と文の関係にもあります。C-a と C-e はそれぞれ行頭と行末 に移動し、M-a と M-e はそれぞれ文頭と文末に移動します。 >> C-a を2回、それから C-e を2回試しましょう。 M-a を2回、それから M-e を2回試しましょう。 C-a や C-e は繰返してもそれ以上移動しませんが、M-a を繰り返すとどんど ん前の文頭に戻っていきます。この部分では類似性が破れていますが、まあこ れが自然な動作ではないでしょうか。 文章中でカーソルがある位置を「ポイント」と呼びます。言いかえれば、カー ソルは、文章のどこにポイントがあるかを画面上で示しているのです。 以下に単純なカーソル移動操作について要約します。このなかには、単語や行 単位での移動コマンドも含まれています。 C-f 一文字次に進む C-b 一文字前に戻る M-f 一単語次に進む M-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 を覚えることを勧めます。 第一に、これらはどんな端末でも使えます。第二に、XEmacsを使うのが上達し てくれば、これらのコントロール文字を打つ方が、矢印キーを打つよりずっと 速いことが分るでしょう(手を通常の位置から大きく動かさないでよいので)。 最後に、一度これらのコントロール文字を打つ習慣を付けたら、もっと進んだ カーソル移動コマンドも簡単に覚えることができます。 XEmacsの大抵のコマンドには数値引数を与えることができます。大抵の場合こ の数値で繰り返し回数を指示することになります。数値引数を与えるには、コ マンドを入力する前に C-u に続いて数字何桁かタイプします。もしメタキー が使えるなら、メタキーを押しながら数字をタイプすることもできます。でも やはり C-u を覚えることを勧めます。それはどんな端末でも使えるからです。 例えば C-u 8 C-f とタイプすると8文字分先に移動します。 >> 適当な数値引数を C-n あるいは C-p に与え、一回のコマンドでなるべく この行の近くに来るようにしてみましょう。 大抵のコマンドは数値引数を繰り返し回数と解釈しますが、中には例外もあり ます。C-v や M-v がそうです。この場合、指定された数の行だけ画面をスク ロールさせることになります。例えば C-u 4 C-v は画面を4行分上にスクロー ルさせます。 >> C-u 8 C-v を試してみましょう。 画面が上に8行スクロールしたはずです。また画面を下にスクロールさせるには M-v に引数を与えればよいのです。 もし X ウィンドウを使っているのなら、スクロールバーと呼ばれる縦長の四 角いエリアが XEmacs のウィンドウの右端にあるはずです。そこをマウスで操 作して画面をスクロールさせることもできます。 >> スクロールバーの中でマウスの真中のボタンを押してみましょう。ボタン を押した位置で決まる文章の位置まで画面がスクロールします。 >> スクロールバーの一番上から3行目ほどのところにマウスを移動して、左 のボタンを何度か押してみましょう。 * X 端末でのカーソルのコントロール ---------------------------------- X 端末があると、おそらくキーパッドでカーソルを操作する方が簡単だと感じ るでしょう。left, right, up, down の矢印キーは予想通りの方向に移動しあ す。それら、C-b, C-f, C-p, C-n と全く同じように動作しますが、よりタイ プが簡単で、覚えるのも簡単です。単語ごとでの移動に C-left と C-right を使うこともでき、塊 (例えば、テキスト編集中には段落) で移動するため にC-up と C-down を使うこともできます。HOME (もしくは BEGIN) と END と書かれたキーがあれば、それぞれ行の最初と最後に移動し、C_home と C-end はファイルの最初と最後に移動します。キーボードに PgUp と PgDn キー があれば、M-v と C-v のように、一度に一画面毎、上下に移動するために使 うことができます。 これら全てのコマンドは上で説明されているように数値引数を取ることができ ます。これらの引数の入力に短縮路を取ることができます。CONTROL か META キーを押したまま数字をタイプするだけです。例えば、右に12語移動するた めには、C-1 C-2 C-right とタイプします。打鍵の間に CONTROL キーを離さ なくてよいので、タイプは非常に簡単です。 * XEmacs がハングした時(動かなくなった時) ========================================== もし XEmacs がコマンドに反応しなくなったら、C-g をタイプすることで XEmacs を安全に止めることができます。C-g でとても時間のかかるコマンド を止めることができます。 C-g はまた、数値引数を取り止めたり、2つ以上のキー入力を必要とする コマンドを入力している最中にそれを取り止めたりするのにも使えます。 >> C-u 100 とタイプして引数100を設定してから C-g を打ってみましょう。 それから C-f を打って下さい。一文字しか進まないはずです。なぜなら、 C-g で数値引数がキャンセルされたからです。 間違って をタイプしてしまった時も、C-g でそれを取り消せます。 *使用不可 (disabled) コマンド ================================== いくつかのコマンドは初心者が間違って使わないよう使用不可になっています。 もし何れかの使用不可コマンドをタイプしたら、それはどういうコマンドかが 表示され、本当にそれを実行したいのかどうか訊ねられます。 もし本当に実行したいのならスペースキーをタイプして下さい。もし実行した くなければ "n" とタイプして下さい。 >> `C-x n p' : とタイプしてみましょう(これは使用不可コマンドです)。 それから n とタイプしましょう。 *ウィンドウ ============ XEmacs は幾つものウィンドウに、それぞれ個別の文章を表示することができ ます。XEmacs で使われている「ウィンドウ」はウィンドウシステムでの重なっ ている別のウィンドウに言及しているのではなく、単一の X ウィンドウ下で の別の窓のことを言っていることに注意してください。(XEmacs は複数の X のウィンドウ、XEmacs の用語では「フレーム」を持つこともできます。これ は後ほど説明します。) ここでは、複数のウィンドウを使う技術には触らないほうが賢明でしょう。で も、ヘルプや特定のコマンドの出力で現れるかもしれない余分なウィンドウを 消して、どうやって元の一つのウィンドウの状態に戻るかを説明することは必 要でしょう。それは簡単です。 C-x 1 ウィンドウを1つにする(つまり他のウィンドウを全部消す) つまり C-x を打ってからさらに 1 を打つのです。このコマンドはカーソルの あるウィンドウを画面全体に広げます。他のウィンドウは全部消えます。 >> カーソルをこの行に持ってきて、C-u 0 C-l とタイプしてみて下さい。 (C-l が画面を再描画することを思い出してください。それに数値引数を与え ると、「画面を再描画して現在の行を画面の最上部からその数だけ離れたとこ ろに移動しなさい」という意味になります。ですから、C-u 0 C-l は「画面を 再描画して、現在の行を最上部にする」という意味になります。) >> 続いて Control-x 2 とタイプして下さい。 新しいウィンドウがこのバッファの内容を表示するために現れるとともに、 このウィンドウがどのように縮むかを見て下さい。 >> C-x 1 とタイプして、新しいウィンドウが消えるのを見て下さい。 *挿入と削除 ============ テキストを入力したければ、単にそれをタイプして下さい。XEmacs は、目に 見える文字(A, 7, * 等)をテキストであるとみなすので、それらはそのまま 挿入されます。(改行キー)をタイプすれば改行文字が挿入されます。 直前に入力した文字を削除するには、 をタイプします。 は、 キーボード上に「Del」と書いてあるキーです。時には キーも として動作しますが、いつもではありません。 より一般的には、 は現在カーソルのある位置の直前の文字を削除し ます。 >> 文字をいくつかタイプし、それからそれらを を使って削除し て下さい。このファイルを変更することを気にする必要はありません。オ リジナルの入門ガイドファイルは変更されませんから。今見ているファイ ルはあなたのためのコピーです。 文章の一行が画面に収まらない程長くなった場合、その行は画面上の次の行へ と継続(continued)されます。画面の右端の backslash 文字 ("\") は、そ の行が継続されていることを表しています。 >> 画面の右端まで文章を入力し、さらに入力を続けて下さい。 継続行ができるのが分るでしょう。 >> を使って画面に収まるところまで現在の行を短くしてみてくださ い。継続行は消えます。 改行文字も他の文字と同じように削除できます。2つの行の間の改行文字を消 すとそれらの行が合わさり1つの行になります。もしその合わさった行が画面 の幅よりも長い場合は、継続行となって表示されます。 >> カーソルを行の先頭に移動し、 をタイプして下さい。現在の行が その前の行とつながります。 >> をタイプして、今削除した改行文字をまた挿入して下さい。 XEmacs のほとんどのコマンドは、繰り返しの回数指定できることを思い出し て下さい。これは、文字の挿入についても当てはまります。 >> C-u 8 * とタイプすると ******** が挿入されます。試してみましょう。 これで、XEmacs でテキストを入力し、また間違いを修正するもっとも基本的 な方法を学んだことになります。文字と同じ様に、単語や行も削除することが できます。削除操作について要約すると次のようになります。 カーソルの直前の文字を削除(delete) C-d カーソルのある文字を削除(delete) M- カーソルの直前の単語を消去(kill) M-d カーソル位置以降にある単語を消去(kill) C-k カーソル位置から行末までを消去(kill) M-k カーソル位置から文末までを消去(kill) と C-d に対する M- と M-d は、C-f と M-f で始まった類 似性をまた拡張します。ここで はコントロール文字ではありません が、まあ、それは気にしないで下さい。C-k と M-k の関係は C-e と M-e の 関係(行と文の対比)と同じです。 一度に2文字以上消した場合、XEmacs はその消したテキストを保存しておい て、また元に戻すことができるようにしています。この「元に戻す」という動 作を再入(yanking)と呼びます。消したテキストは、元と同じ場所にでも元 とは違う場所にでも再入できます。また、何度も再入してテキストのコピーを 複数作ることもできます。再入のためのコマンドは C-y です。 「消去(kill)」と「削除(delete)」の違いに気をつけて下さい。消去した テキストは再入できますが、削除したものは再入できません。一般に、大量の テキストを消すコマンドはそのテキストを保存しておきますが、一文字とか空 白行や空白文字を削除するコマンドは削除したものを保存しきません。 >> 空行でない行の先頭にカーソルを移動させて下さい。 それから C-k でその行のテキストを消去して下さい。 >> もう一度 C-k をタイプしてください。その行に続く改行文字が消されるの が分りましたか。 一回目の C-k はその行のテキストを消し、2回目の C-k はその行自身を消し てその先の行を上げてきます。C-k の数値引数の扱いは特殊です。引数分の行 (行の内容と行自身)を消します。これは単なる繰り返しではありません。 C-u 2 C-k は2つの行とそれぞれに続く改行文字を消しますが、C-k を2度タ イプしてもそうはなりません。 最後に消去したテキストを現在カーソルがある位置に再入するには C-y をタ イプします。 >> 試して下さい。C-y をタイプして最後に消去したテキストを再入しましょう。 C-y は、あなたが無くしたものを取り戻すものだと考えましょう。C-k を続け て実行すると、消去した各行は全部まとめて保存されるので、一回の C-y で それらの行が全部再入されます。 >> C-k を何度か続けてタイプしてみて下さい。 さあ、消去したテキストを再入しましょう。 >> C-y をタイプして下さい。次にカーソルを数行下に移動させ、また C-y を タイプして下さい。どうやってテキストをコピーするか分りましたね。 過去に消去したテキストを再入したいのに、別のテキストをその後消去した時 はどうすればよいでしょう? C-y は最後に消去したものを再入します。でも それでより以前に消去したテキストがなくなるわけではありません。そういう テキストは M-y で再入できます。C-y で最後に消去したテキストを再入した 直後にM-y をタイプすると、その再入されたテキストはそれ以前に消去したも のに変更されます。何度も続けて M-y をタイプすると、さらに前に消去した テキストを呼び戻せます。望みのテキストに行き当ったら、それはそのままに して編集作業を続ければよいのです。 ある回数だけ M-y を繰り返したら、また最初(つまり最後に消去したテキス ト)に戻ります。 >> 一行消去し、別の行に行ってその行を消去して下さい。 それから C-y で2番目(最後)に消去した行を再入して下さい。 続いて M-y でその行を最初に消去した行に変えて下さい。 M-y を続けどうなるか見てみましょう。2番目に消去した行が戻って来る まで M-y を繰り返し、さらにもう何度か M-y をしましょう。 もし望みなら M-y に正もしくは負の数値引数を与えても良いでしょう。 *取り消し(UNDO) ================ もし、文章を変更した後でその変更は間違いだったと思ったら、取り消し (undo)コマンド C-x u でその変更を取り消すことができます。 通常、C-x u は一つのコマンドによる変更を取り消します。続けて何度も C-x u を行えばそのたびに一つ前のコマンドが取り消しになります。 ただしこれには例外が二つあります。まず、文章を変更しないコマンドは取り 消しになりません。カーソル移動やスクロールのコマンドがそれに当たります。 それから、テキスト文字の挿入(自己挿入コマンド)は 20 個一まとめで扱わ れます。これはテキストの挿入を取り消すための C-x u の回数を減らすため です。 >> この行をC-kで消して下さい。そして、C-x u で戻して下さい。 C-_ も取り消し(undo)を行なうコマンドです。機能は、C-x u と同じですが、 続けて何度もタイプする場合はより便利です。C-_ の問題は、キーボードによっ てはどうやってタイプするのか分りづらい事です。だから C-x u があるので す。端末によっては、コントロールキーを押したまま / をタイプすると C-_ をタイプしたことになります。 C-_ や C-x u は数値引数を繰り返し回数と解釈します。 *ファイル ========== 編集している文章を恒久的な物にするには、それをファイルに保存しなければ なりません。さもないと、XEmacs の終了と同時にそれはなくなってしまいま す。編集した物をファイルに入れるにはファイルを開いてからします。(ファ イルを "visit" するとも言います)。 ファイルを開くとは、そのファイルの中身を XEmacs で見ることを意味します。 色々な意味で、それはあなたがファイル自身を編集しているかの様です。しか し、XEmacs で行う変更はファイルをセーブする迄は恒久的なものとなりませ ん。これは、それを望まないのに、途中まで変更したファイルが残るのを避け るためです。セーブした後でさえ、変更したものが間違っていた時のために、 元のファイルは名前を変えて残されます。 画面の一番下近くに、"ISO7--%%-XEmacs: TUTORIAL.ja" の様な文字列で始ま り "----" で終っている行があるはずです。画面のこの部分は常に現在開いて いるファイルの名前が表示されています。今は "TUTORIAL.ja" という名のファ イル(これは XEmacs 入門ガイドのあなた用のコピーです)を開いています。 XEmacs でファイルを開くとそのファイルの名前がこの部分に現れます。 ファイルを開いたり保存したりするコマンドは、2つの文字から成るという点 で今まで学んだ他のコマンドとは違います。両方とも、Control-x という文字 で始まります。Control-x で始まるコマンドはたくさんあります。多くはファ イル、バッファやそれらに関連したものに関係したことをします。これらのコ マンドは2、3、4文字です。 ファイルを開くためのコマンドはこれまで学んだものとは違い、ファイルの名 前を指定しなければなりません。これを、コマンドが「端末から引数を読み込 む」と言います。今の場合は引数はファイル名です。次のコマンド C-x C-f Find a file をタイプすると、XEmacs はファイル名を聞いてきます。タイプしたファイル 名は画面の最下行に表示されます。この最下行は、こういう入力のために使っ ている時は、ミニバッファと呼びます。通常の編集コマンドでファイル名を編 集することもできます。 ファイル名の入力中(あるいはその他のミニバッファ入力中)に C-g によっ てコマンドをキャンセルできます。 >> C-x C-f をタイプしてから C-g をタイプしてみましょう。ミニバッファが 取り消され、それを使っていたコマンド C-x C-f 自体も取り消されます。 だから、ファイルは何も開かれません。 ファイル名を入力したら、キーをタイプし入力を完了させます。そう すると、C-x C-f コマンドが走り始め指定したファイルを開きます。ミニバッ ファは C-x C-f コマンドの終了とともに消えます。 ファイルの内容が画面に表示されると、その内容を変更することができます。 加えた変更を恒久的なものにしたければ、次のコマンドをタイプします。 C-x C-s Save the file これは XEmacs が保持している文章をファイルにコピーします。初めてこれを 実行するときは、元のファイルを新しい名前に付け替えるので、その内容は失 われません。その新しい名前は元のファイルの名前の最後に'~'をつけたもの です。 セーブが終わると、セーブしたファイルの名前が表示されます。割と頻繁にセー ブした方が良いでしょう。システムが落ちてもせっかくの作業がパアにならな いように。 >> C-x C-s とタイプしてこの入門ガイドのコピーをセーブして下さい。 画面最下段に "Wrote ...TUTORIAL.ja" と表示されます。 注意:システムによっては C-x C-s とタイプすると画面が動かなくなり XEmacs が表示しようとするものが何も画面に出なくなります。これは、フロー コントロールと呼ばれるOSの機能が C-s を捉え、XEmacs に渡さないように しているのです。これを解除するには C-q をタイプします。それから XEmacs マニュアルの "Spontaneous Entry to Incremental Search (知らぬ間にイン クリメンタルサーチになる)" の節を読んでください。このやっかいなOSの 機能にどう対処すれば良いかが載っています。 既存のファイルを開き、内容を見、編集することができます。存在しないファ イルを開くこともできます。XEmacs で新しいファイルを作るには次のように します。ファイルを開きます。最初は空っぽですね。文章を入力していきます。 ファイルをセーブしようとした時に初めて新しいファイルが作られ、今まで入 力した内容がそれに書き込まれます。それ以降は、あなたは既存のファイル (たった今作られたファイル)を編集していると思って下さい。 *バッファ ========== 2つ目のファイルを C-x C-f で開いても、最初のファイルは XEmacs 内部に 残ったままです。そっちのファイルに戻るにはもう一度 C-x C-f でそのファ イルを開けばよいのです。こうやって、幾つものファイルを XEmacs で開くこ とができます。 >> "foo" という名のファイルを作りましょう。C-x C-f foo です。 何か文章を入れ、編集し、C-x C-s で "foo" をセーブして下さい。 最後に C-x C-f TUTORIAL.ja とタイプし 入門ガイドに戻りましょう。 XEmacs はファイルの内容をバッファ(buffer)と呼ばれるものの中に格納し ています。ファイルを開くと新しいバッファができます。XEmacs が現在持っ ているバッファのリストを見るには、次のようにタイプします。 C-x C-b List buffers >> C-x C-b を試してみましょう。 各バッファがどんな風に名前やそれが開いているファイルに対するファイル名 を持っているか見て下さい。ファイルを開いていないバッファもあります。た とえば、"*Buffer List*" という名のバッファはどんなファイルも開いていま せん。これはバッファのリストを内容とするバッファで、C-x C-b で作られた ものです。XEmacs のウィンドウ内にあるテキストはどれも、いずれかのバッ ファの一部です。 >> C-x 1 とタイプしてバッファリストを消しましょう。 あるファイルの内容になんらかの変更を加え、それから他のファイルを開いて も、最初のファイルはまだセーブされません。変更は XEmacs の内部、そのファ イルに対応するバッファの中に残ったままです。2番目のファイルのバッファ を作ったり、編集したりしても、最初のファイルのバッファには何の影響もあ りません。これはとても役に立ちますが、最初のファイルのバッファをセーブ する何か便利な方法が必要だということでもあります。 C-x C-s でセーブす るために C-x C-f で元のバッファに戻るのはは厄介です。そこで次のコマン ドを使います。 C-x s 何れかのバッファをセーブする C-x s は、まだセーブしていない変更があるバッファそれぞれについて、それ をセーブするかどうかを聞いてきます。 >> 一行テキストを入力してから C-x s とタイプして下さい。 TUTORIAL.ja というバッファをセーブするかどうか聞いてくるはずです。 「はい」と答えるために "y" とタイプして下さい。 *メニューを使う ---------------- もし X 端末を使っていれば、XEmacs の画面の最上部にメニューバーがあるこ とに気付くでしょう。このメニューバーを使って「ファイルを開く」というよ うなほとんどのよく使う XEmacs のコマンドを使用することができます。特定 のコマンドを使用するための打鍵を覚えなくてよいので、最初はこの方が簡単 に思えるでしょう。XEmacs に慣れてくるにしたがって、キーボードのコマン ドを使うことが簡単になってくるでしょう。対応するキーボードコマンドがコ マンドの次に書かれているからです。 メニューバーにはキーボードで完全に同等に対応するものが無い項目が多くあ ります。例えば、Buffers メニューは最近使われた順に選択可能なバッファの 一覧を表示します。単に Buffers メニューで名前を見つけて選択するだけで どのバッファにでも移動できます。 *マウスを使う -------------- X の下で実行されているときは、XEmacs は完全にマウス機能と一体化してい ます。望みの場所で左ボタンをクリックすることでテキストのカーソルを移動 することができ、選択したいテキストを左マウスボタンでドラッグすることで テキストを選択することができます。(もしくは、その代わりにテキストを選 択するために一方の端で左マウスボタンをクリックし、他の端に移動して Shift を押しながらクリックすることができます。) 選択したテキストを消去 (kill) するためには、C-w か、Edit メニューの Cut 項目を使えます。これらは等価では*無い*ことに注意してください: C-w はXEmacs の内部のみにテキストを保存しますが(上で説明した C-k と似てい ます)、Cut はこれとともにテキストを他のアプリケーションが使用可能な X のクリップボードにも入れます。 X のクリップボードからテキストを取得するには、Edit メニューの Paste 項 目を使ってください。 真中のマウスのボタンは普通は画面で見えているものを選択するために使われ ます。例えば、Info(オンライン XEmacs 説明文書)に C-h i か Help メニュー を使って入れば、ハイライトされたリンクを真中のボタンを押すことで追うこ とができます。同様に、ファイル名を入力しているときに(例えば、「ファイ ルを開く」で入力を促されたとき) TAB で補完候補を表示させると、候補の 一つを選択するために真中のボタンでクリックすることができます。 右のマウスのボタンはポップアップメニューを表示しますこのメニューの内容 は今のモードに依存し、普通は使用し易いように2、3の良く使われるコマン ドを含んできます。 >> 右マウスボタンを押してください。 メニューを表示させ続けるためにはボタンを押し続ける必要があります。 *コマンドの拡張 ================ XEmacs には、コントロール文字やメタ文字に割当られるよりもずっとずっと 多くのコマンドがあります。これらを扱うために、拡張(eXtend)コマンドを 使います。それには、以下の2つの種類があります。 C-x 文字による拡張。続けて一文字を入力します。 ESC x 名前による拡張。続けてコマンドの名前を入力します。 これらは、一般的には便利だけれども、これまで見てきたものほどは頻繁に用 いられないコマンドです。C-x C-f (ファイルを開く)や C-x C-s(ファイル をセーブ)はこの仲間です。他に、C-x C-c(XEmacs を終了)もそうです。 C-x C-c に関しては、それまでに加えた変更が無くなるのを心配する必要はあ りません。XEmacs を終了させる前に変更された各ファイルをセーブするかど うか聞いてきますから。 C-z は「一時的に」 XEmacs を抜けるコマンドです。また同じ XEmacs セッショ ンに戻ることができます。 それができるシステム上なら、C-z は XEmacs を「中断」させます。つまり XEmacs を終了することなく、コマンドシェルに戻ることができます。大方の 標準的なシェルなら、`fg' コマンドもしくは `%emacs' によって XEmacs を 再開できます。 「中断」機能を実装していないシステムでは、C-z は XEmacs の下で走るサブ シェルを作り、他のプログラムを走らせてからまた XEmacs に戻ることができ るようにします。この場合本当に XEmacs から抜け出るわけではありませんの で、シェルコマンドの `exit' がそのサブシェルから XEmacs に戻る普通のや り方です。 C-x C-c はログアウトしようと思う時に使うものです。メールツール(mail コマンド等)やその他の様々なアプリケーションプログラムが起動した XEmacs から抜け出る場合に使うのも正しい使い方です。これらのプログラム は XEmacs の中断にどう対処して良いか知らないでしょうから。しかしながら、 普通の場合は、ログアウトしようしない限りは XEmacs を終了させるよりは C-z で中断させる方が良いでしょう。 C-x コマンドはたくさんあります。これまでに、以下を学びました。 C-x C-f ファイルを開く(Find) C-x C-s ファイルのセーブ(Save) C-x C-b バッファのリストアップ C-x C-c XEmacs を終了 C-x u 取り消し 名前による拡張コマンドには、あまり使わないものや、特定のモードでしか使 わないものがあります。たとえば replace-string ですが、これは文字列を置 換するものです。M-x をタイプすると、XEmacs は画面の最下行に M-x と表示 し入力を促すので、そこにコマンドの名前(この場合 "replace-string")を 入れなければなりません。"repl s" とだけタイプすると XEmacs がコマ ンド名を補完してくれます。コマンド名を入れたら を打って下さい。 "Replace string" コマンドには引数が二つ必要です。どの文字列をどう置換 するかです。各引数を入力するたびに を打って下さい。 >> カーソルをここから2行下の空行に移動させて下さい。 M-x repl schangedAltered とタイプしましょう。 この行がどう変わるか(changed)見ましょう。あなたはカーソル以降全部の c-h-a-n-g-e-d という語を "altered" に変えたのです。 *自動セーブ ============ ファイルに変更を加えてまだセーブしていない場合、それらの変更は計算機が クラッシュすると失われてしまう可能性があります。そういう事態を避けるた め、編集中の各ファイルについて自動セーブファイルが定期的に書かれます。 自動セーブファイルは頭とお尻に # が付いています。例えば "hello.c" とい うファイルの自動セーブファイルは "#hello.c#" です。通常の方法でファイ ルをセーブしたときに、そういう自動セーブファイルは消されます。 計算機がクラッシュした場合、自動セーブされた編集を回復させることができ ます。普通にファイル(編集していたもので、自動セーブファイルじゃありま せん)を開き、それから M-x recover file とタイプするのです。確 認を求めてきますので、yes とタイプし自動セーブされたデータを回 復します。 *エコーエリア ============== もしゆっくりとコマンドを打ったならば、画面の下のエコーエリアと呼ばれ る場所に打ったものが表示されます。エコーエリアは画面の最下行です。 *モードライン ============== エコーエリアのすぐ上の行は、モードラインと呼びます。モードラインはこんな風に見えるでしょう。 ISO7-----XEmacs: TUTORIAL.ja (Fundamental)--L670--58%---------------- この行は XEmacs の状態及び編集中の文章について有益な情報を与えてくれま す。 ファイル名についてはもう分っていますね。それはあなたが開いたファイルで す。-NN%-- は文章中の現在位置を示しています。文章の NN% が画面最上段よ り前にあるということです。もし文章の最初の行が画面にある時には --00%-- の代りに --Top-- と表示します。もし文章の最後の行が画面にある時には --Bot-- と表示します。もし画面に全部収まってしまうような短い文章を見て いるときには --All-- と表示します。 括弧に囲まれた部分はどうな編集モードにいるかを示します。デフォルトは "Fundamental" というモード、これが現在のモードです。これは「メジャーモー ド(major mode)」の一例です。 XEmacs には多くの種類のメジャーモードがあります。Lisp mode やText mode のように、どんなプログラム言語やどんな種類の文章を編集中かを意味するも のもあります。いつでも必ずいずれかのメジャーモードの状態になっています。 どのメジャーモードにいるのかは、モードラインの現在は "Fundamental" と 表示している部分を見れば分ります。 各メジャーモードは幾つかのコマンドに異なる振る舞いをさせます。例えば、 プログラムリスト中にコメントを入れるためのコマンドがあります。コメント の形式(シンタックス)は、プログラム言語によって異なり、メジャーモード は、それに対応する言語に合った形式でコメントを挿入します。各メジャーモー ドは拡張コマンドの名前になっています。つまりその拡張コマンドを使ってメ ジャーモードを切り換えるのです。例えば、M-x fundamental-mode というの は Fundamental モードに切り換えるためのコマンドです。 もし、通常の英語や日本語の文章(このファイルのような)を編集するのなら ば、Text mode を使いましょう。 >> M-x text-mode とタイプしてみて下さい。 心配しないで。これまで学んだコマンドはたいして変わりませんから。だけど、 M-f や M-b がアポストロフィ "'" を単語の一部だと解釈するようになったの が分るでしょう。以前の Fundamental モードでは M-f や M-b は "'" を単語 の区切りと見なしていました。 メジャーモードはこのように些細な違いを生みます。大概のコマンドはどのメ ジャーモードでも同じ働きをしますが、実際の動きは少しだけことなるのです。 現在のメジャーモードについての説明文を見るには C-h m とタイプします。 >> C-u C-v を一二度やってこの行を画面の上の方に持っていきましょう。 >> C-h m とタイプし、Text mode と Fundamental mode の違いをみましょう。 >> q で Text mode の説明文を画面から消しましょう。 メジャーモードが「メジャー」というからには「マイナーモード」もあります。 マイナーモードはメジャーモードの代わりになるものではなく、それをちょっ とだけ修正するものです。各マイナーモードは、メジャーモードや他のマイナー モードに影響を与えずに、それだけをオンオフできます。つまり、マイナーモー ドを全く使わなかったり、一個だけ使ったり、いくつかを同時に使ったりでき るのです。 通常の文章を編集している時にとても便利なマイナーモードの一つにオートフィ ル(Auto Fill)モードというのがあります。このモードがオンの時に文章を 入力していって行を長くしすぎた場合、自動的に単語と単語の間で行が分割さ れます(日本語の場合はどの文字の間でも)。 Auto Fill モードは M-x auto-fill-mode とやればオンにできます。 それがオンの状態で M-x auto-fill-mode とやれがオフにできます。 このコマンドは、モードがオフならオンに、オンならオフにするのです。こう いうのを「モードをトグルする」と言います。 >> M-x auto-fill-mode とタイプして、 "asdf " で始まる行を入力 して下さい。行が分割されるまで何度も "asdf " とタイプしましょう。ス ペースを忘れずに。Auto Fill はスペースが入力された時のみ働きます。 右マージンは通常 70 文字(カラム)ですが、C-x f コマンドでこれを変更す ることができます。指定の文字数を数値引数として与えます。 >> 数値引数 20 で C-x f をやりましょう。 (C-u 2 0 C-x f)。 それから適当な文章(英語)を入力し、20 文字で行が分割されるのを見て みましょう。それから C-x f コマンドでまたマージンを 70 文字に戻して 下さい。 パラグラフの途中を変更しても Auto Fill モードはそれを自動的にフィルし 直しはしません。 パラグラフをフィルし直すにはカーソルをそのパラグラフの中に置いてから M-q をタイプします。 >> カーソルをこの行直前のパラグラフに移動させ M-q とタイプして下さい。 *検索 ====== 文章中の特定の文字列を、前向きにも後向きにも探す事ができます。文字列を 探すというのはカーソル移動コマンドです。つまり、次にその文字列が現れる 場所までカーソルを移動させるのです。 XEmacs の検索コマンドは他の大概のエディタの検索コマンドとは異り「イン クリメンタル」です。検索する文字列をタイプしているそばから検索が起るの です。 検索を始めるためのコマンドは、前向きに検索するならば C-s、後向きなら C-r です。まだです!!今はまだ試さないで下さい。 C-s を打つと "I-search" という文字列がエコーエリアに表示されるのが見え るでしょう。これは XEmacs がインクリメンタル検索という状態にいて、あな たが探したい文字列を入力するのを待っているのです。 を打てば検 索を終われます。 >> さて C-s とタイプして検索を始めましょう。ゆっくりと1文字ずつ "cursor" という単語を入力します。1文字打つ毎にカーソルがどう動くか 見ましょう。 さあ、"cursor" が1回見つかりました。 >> もう一度 C-s と打って次の "cursor" を見つけましょう。 >> 今度は を4回打って、カーソルの動きを見て下さい。 >> と打って検索を終了しましょう。 何が起ったか分りますか?インクリメンタル検索では、便利なためにハイライ トをし、あなたがそれまでに打った文字列が現れるところに行こうとします。 次の "cursor" に行くにはもう一度 C-s と打ちます。もしもうそういう文字 列が無かったら、ベルをならして検索が現在は失敗していることを知らせます。 C-g を打てば検索を終われます。 注意:システムによっては C-s とタイプすると画面が動かなくなり XEmacs が表示しようとするものが何も画面に出なくなります。これは、フローコント ロールと呼ばれるOSの機能が C-s を捉え、XEmacs に渡さないようにしてい るのです。これを解除するには C-q をタイプします。それから XEmacs マニュ アルの "Spontaneous Entry to Incremental Search (知らぬ間にインクリメ ンタルサーチになる)" の節を読んでください。このやっかいなOSの機能に どう対処すれば良いかが載っています。 インクリメンタル検索の途中で を打つと検索文字列中の1番後ろの 文字が消えます。そして、カーソルは、前回の位置に戻ります。たとえば、 "c" とタイプして最初の "c" を探します。それから "u" を打つと最初の "cu" の場所にカーソルが動きます。そこで を打つと "u" を検索文 字列から消して、カースルは最初に "c" が現れた場所に戻ります。 C-s は、現在のカーソル位置以降に出てくる検索文字列を探し始めます。もし、 文章の前の方を探したかったら、C-r をタイプします。これまでの C-s につ いての説明はすべて C-r にも当てはまります。検索の方向が反対なだけです。 *複数のウィンドウ ================== XEmacs の素敵な機能の一つとして、一つの画面に同時にいくつものウィンド ウを表示することができます。 >> カーソルをこの行に持ってきて C-u 0 C-l とタイプして下さい。 >> それから C-x 2 とタイプし画面を2つのウィンドウに分割しましょう。 どちらのウィンドウもこの入門ガイドを表示しています。カーソルは上の ウィンドウにあります。 >> C-M-v とタイプし下のウィンドウをスクロールさせましょう。 (メタキーがない場合は ESC C-v とタイプします。) >> C-x o ("o" は "other(他方)" を意味します)をタイプし下のウィンド ウにカーソルを移して下さい。 >> 下のウィンドウで C-v や M-v を使ってスクロールさせましょう。 ここに書いてある指示は上のウィンドウで読み進んでください。 >> もう一度 C-x o とタイプし、カーソルを上のウィンドウに戻します。 カーソルは上のウィンドウの元あった位置に戻ります。 C-x o を使ってウィンドウ間を行ったり来たりできます。各ウィンドウはそれ 自身のカーソル位置を保持していますが、一度には一つのウィンドウだけがカー ソルを表示します。通常の編集コマンドは皆カーソルがあるウィンドウに対し て働きます。そのウィンドウを "selected window (選択中のウィンドウ)" と 呼びます。 C-M-v コマンドは、一つのウィンドウで文章を編集中に他のウィンドウを参照 している時に役立ちます。編集中の場所にカーソルを保ったまま、C-M-v で他 のウィンドウを読み進めて行くことができます。 C-M-v はコントロールメタ文字の一例です。メタキーがある場合は、コントロー ルキーとメタキーを押しながら v をタイプします。コントロールキーとメタ キーはどちらを先に押しても構いません。どちらもその後にタイプされる文字 に対する修飾キー (modifier key) として働くからです。 メタキーが無い場合、ESC キーを使いますが、この場合順番が大事です。まず ESC を押してから離して CTRL-v を打ちます。CTRL-ESC v では駄目です。こ れはESC はそれ自体が一つの文字で修飾キーではないからです。 >> 上のウィンドウで C-x 1 とタイプし下のウィンドウを消しましょう (もし下のウィンドウで C-x 1 とタイプすると上のウィンドウが消えます。 このコマンドは「現在自分がいるウィンドウだけにしなさい」というものだと 思って下さい。) 同じバッファを両方のウィンドウに表示する必要はありません。一方のウィン ドウで C-x C-f でファイルを開いても他方のウィンドウは変化しません。各 ウィンドウにおいて別々のファイルを開くことができるのです。 >> C-x 4 C-f とタイプし続けて何か自分のファイル名を入力して下さい。 で入力を終わらせて下さい。今指定したファイルが下のウィンド ウに現れます。カーソルもそっちに移ります。 >> C-x o とタイプし上のウィンドウに戻って下さい。それから C-x 1 で下の ウィンドウを消しましょう。 *再帰編集レベル (RECURSIVE EDITING LEVELS) 時々(不本意に)再帰編集レベルと呼ばれる状態に入ることがあります。モー ドラインのメジャーモード名を囲む丸括弧 "()" がさらに鉤括弧 "[]" で囲ま れます。例えば、(Fundamental) と表示される代わりに [(Fundamental)] の ようになります。 再帰編集レベルから抜け出すには ESC ESC ESC とタイプします。これは汎用 「抜け出し」コマンドです。余分なウィンドウを消したり、ミニバッファから 抜けたりするのにも使えます。 >> M-x とタイプしミニバッファに入って下さい。それから ESC ESC ESC とタ イプし抜け出してみましょう。 C-g では再帰編集レベルからは抜け出せません。これは、C-g が再帰編集レベ ル内でのコマンドや引数を取り消すのに使われているからです。 *もっともっとヘルプ ==================== この入門ガイドでは XEmacs を使い始めるのに十分な情報を提供したつもりで す。XEmacs にはあまりにも多くの機能があるので、ここですべてを説明する のは無理です。それでも役に立つ機能をもっと多く学びたいと思う人のために は、XEmacs のコマンドの説明を読むためのコマンドがあります。これらの 「ヘルプ」コマンドは皆 Control-h 文字(ヘルプ文字と呼びます)で始まり ます。 ヘルプ機能を使うには、C-h に続いてどんな種類のヘルプが必要かを示す1文 字をタイプします。もしそれすら分らない場合は C-h ? とタイプしましょう。 どんな種類のヘルプを提供できるかが示されます。もし、C-h をタイプしてか ら気が変わったら、C-g をタイプして取り消すことができます。 (サイトによっては C-h 文字を再束縛します。総括的な手段としてそんなこ とをするべきではありません。そういう場合はシステム管理者に文句を言いま しょう。ま、ともかく、もし C-h が画面の下の方にヘルプのメッセージを出 さなければ、M-x help RET を試してみて下さい。) 最も基本的なヘルプ機能は C-h c です。C-h、それから c、そしてコマンドの 文字若しくはそのシーケンスをタイプすると、そのコマンドについての短い説 明を表示します。 >> C-h c Control-p とタイプしてみましょう。 以下のようなメッセージが表示されるはずです。 C-p runs the command previous-line これは「ファンクションの名前」を表示したのです。ファンクション名は主に XEmacs をカスタマイズしたり拡張したりするのに使われます。しかし、ファ ンクション名はそのコマンドが何をするものなのかが分るように付けられます ので、簡単な説明としてもそのまま役に立ちます。一度学んだコマンドについ て思い出すには十分です。 C-x C-s や(メタキーやアルトキーがない場合の) v などの複数文字 のコマンドを C-h c の後にタイプすることもできます。 コマンドについてもっと多くの情報が欲しければ C-h c の代わりに C-h k を 使います。 >> C-h k Control-p とタイプしてみましょう。 XEmacsのウィンドウに、コマンドの名前と同時にその機能の説明が表示されま す。読み終えたら、q とタイプしてヘルプのテキストを消しましょう。 C-h には他にも役に立つオプションがあります。 C-h f ファンクションの説明。ファンクション名を入力します。 >> C-h f previous-line とタイプしてみましょう。 C-p コマンドを実行するファンクションについてのすべての情報を表示し ます。 C-h a ハイパーアプロポス。キーワードを入力すると、そのキーワー ドを名前に含む全ての関数と変数をリストアップします。 Meta-x で起動できるコマンドには左側にアスタリスクが付 きます。 >> C-h a newline とタイプしてみて下さい。 "newline"という文字列を名前の一部に持つ全ての関数と変数を表示します。 関数や変数をより詳しく知るために か真中のマウスボタンを押して ください。hyper-apropos を終了するためには `q' を入力します。 *おわりに ========== 忘れないで!XEmacs を終了するには、C-x C-c です。また XEmacs に戻って 来られるように一時的にシェルに戻るだけなら C-z です。(X では、これは 現在の XEmacs のフレームをアイコン化します。) この入門ガイドは、まったくの初心者にもわかりやすいようにと意図していま す。ですから、もし何かわかりにくい点があったなら、自分を責めないで文句 をつけて下さい。 *この翻訳版についての謝辞 ========================== この文書は XEmacs Ver.21.4 付属の英語版の入門ガイドを日本語に翻訳した ものです。その際、Emacs 付属の日本語ガイドを元に修正しました。その日本 語ガイドは、元は SANETO Takanori 氏が日本語 MicroXEmacs(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. Ben Wing updated the tutorial for X Windows. Martin Buchholz and Hrvoje Niksic added more corrections for XEmacs. This version of the tutorial, like XEmacs, is copyrighted, and comes with permission to distribute copies on certain conditions: Copyright (c) 1985, 1996 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 XEmacs itself are more complex, but in the same spirit. Please read the file COPYING and then do give copies of XEmacs to your friends. Help stamp out software obstructionism ("ownership") by using, writing, and sharing free software!