情報処理実習用手引き(システム解説編) 第5章 インターネットの利用 5.5 テキスト・エディタ mule の使い方 電子・情報工学系 新城 靖 <yas@is.tsukuba.ac.jp>
このページは、次の URL にあります。
http://www.hlla.is.tsukuba.ac.jp/~yas/ipe/tebiki-1997/5-inet/5-mule.html
http://www.ipe.tsukuba.ac.jp/~yshinjo/tebiki-1997/5-inet/5-mule.html
あるいは、次のページから手繰っていくこともできます。
http://www.ipe.tsukuba.ac.jp/~yshinjo/
http://www.hlla.is.tsukuba.ac.jp/~yas/ipe/
http://www.hlla.is.tsukuba.ac.jp/~yas/index-j.html
http://www.ipe.tsukuba.ac.jp/
テキスト・エディタ、あるいは単にエディタ(editor)とは、テキスト・ファイ ルを作ったり内容を書き替えたりするためのコマンド(プログラム)である。 mnews で電子メールの本文を書く時には、標準では、エディタとして mule (ミュール)が実行される。mule は、emacs(イーマックス)というエディタ の機能が進化して、多国語対応(multilingual)になったものである。mule の 前には、emacs を日本語対応にした nemacs がよく使われていた。
mule は、電子メールやネットワーク・ニュースの記事を書く時に自動的に実 行される。ファイルを作ったり、ファイルの内容を書き替えたい時には、次の ように打つ。
% mule ファイル名
このように、引数として、作成したいファイルや書き換えたいファイルの名前 を与える。
Xウィンドウが使える状態で mule を実行すると、実行したウィンドウではな く、新たに別にウィンドウを開く。
図5.5.1 X Window 上に開かれた mule の画面
この場合、いくつかの機能を、キーボードからコントロール・キーを打つので はなく、メニューからマウスで選択することで利用することができる。スクロー ル・バーを使って、長いデータの表示位置を変えることができる。さらに、マ ウスでカーソルの移動やコピー&ペーストを行うこともできる。
Xウィンドウ上に mule の画面を表示させると、このようにより使い安くなる。 しかし、場合によっては、Telnet 同じように、同じウィンドウの中で mule を実行したいことがある。その時には、mule を実行する時に「-nw」(no windowの意味)というオプションを付けて実行する。
% mule -nw ファイル名
mule を終了するには、「C-x C-c」と打つ。「C-x」とは、 コントロール・キー(control, ctrl)を押しながら、x キー を押すという意味である。「C-c」は、コントロール・キーを押しな がら、c キーを押すという意味である。「C-x C-c」と打 つ時には、左の小指でまずコントロール・キーを押し続けながら、 x キーを一度押して離し、c キーを押して離し、 コントロール・キーを離すとよい。
普通、終了の前に C-x C-s で編集中の内容をファイルへ保存する。 しかし、時には修正した結果を保存しないで終了したいことがある。その時に は、mule 、次のように聞いてくる。
---------------------------------------------------------------------- Save file /home1/s976543/dir1/file1? (y or n) ----------------------------------------------------------------------
保存(save)する時には、「y」を1文字、保存しない時には、 「n」を押す。もし、ここで n を押した場合、mule は、 さらに次のように聞いてくる。
---------------------------------------------------------------------- Modified buffers exist; exit anyway? (yes or no) ----------------------------------------------------------------------
終了したい時には、今度は「yes 」と打つ。
ここで、バッファ(buffer)とは、mule (emacs)の独自の用語であ る。バッファとは、mule を終了すると消えてしまうメモリと考えるとよい。 mule は、保存しないで終了する時には、念には念を入れて確認してくるわけ である。しかも、保存するかしないかの時には、y, n と 1文字だけ打てば良かったのが、保存しないで終了する時には、 yes, no と、複数文字を打ち、さらにリターン・キーまで 打たなければならないようになっている。
mule では、キーボードから打込んだ普通の文字(アルファベット、数字、記 号、漢字)は、そのまま画面(バッファ)に書き込まれる。(これに対して、 vi というエディタでは、「これから文字を打つ」という命令を打った後で文 字を打つ。)
文字の打ち込み以外の操作をしたいときには、コントール・キーや ESC キー(Escape,エスケープ)を使う。操作には、既に説明したよう に、保存、終了がある。その他に、カーソルの移動、文字の消去、カット&ペー スト、文字列の検索、文字列の置き換えがある。
mule で、文字の打ち込み以外の操作をするためのキーには、次のようなもの がある。
C-〜
M-〜 あるいは、ESC 〜
C-x 〜
ESC x 機能名 (表記は、M-x 機能名)
何か mule がおかしな状態になった時には、C-g を数回押す。
たとえば、間違って文字を消した時のように、間違って操作ををした時には、 undo 機能を使って、取り消すことができる。undo 機能を使うには、 C-_ または、C-x u と打つ。操作には、文字を消す以外に、 文字を打ち込むということも含まれる。
mule では、C-s を推すと、バッファの中の文字列を検索して、見つ かった場所にカーソルを移動する。このとき、キーを押す度に、そこまで打た れた文字を探してカーソルの位置が変わる。この機能は、打つ度に検索をする ことから、インクリメンタル・サーチ(incremental search,isearch)と呼ばれている。
インクリメンタル・サーチを始める時には、C-s と打つ。インクリ メンタル・サーチの途中で、見つけたい文字列が見つかった時には、リターン・ キーを押す。(muleの古い版や、nemacs では、インクリメンタル・サーチを やめたい時には、ESCキーを押す。) 今まで打ち込んだ文字列と同 じ文字列で、次の文字列を探して移動したい時には、C-s を押す。 C-r と打つと、文書の下から上の方向にインクリメンタル・サーチ を行う。途中でインクリメンタル・サーチを中止したくなった時には、 C-gを打つ。すると、カーソルは、インクリメンタル・サーチを始め る前の位置に戻る。
エディタやワープロでは、カット・アンド・ペースト(cut & paste)という操作がよく使われる。カットとは、文書の一部 を表面上削除し、内部的なメモリに保存することである。ペーストとは、カッ ト操作で保存したものを、文書に挿入することである。カット・アンド・ペー ストとよくにたもので、コピー・アンド・ペースト(copy & paste)というものもある。コピー・アンド・ペーストでは、 操作対象の文書の一部は、内部的なメモリにコピーされ、文書の表面上は、削 除されずに残る。
カット・アンド・ペーストを使うと、次のようなことが可能となる。
領域をカットする操作は、C-w である。領域をコピーする操作は、 ESC w である。ペーストは、C-y である。
電子メールでは、漢字で1行も30文字から35文字(英数字の場合は、60文
字〜70文字)で折り返す習慣がある。mule には
fill-paragraph
と呼ばれる折り返し操作機能がある。この機
能を使うには、次のように打つ。
ESC q
これにより、mule は、 空行で区切られた範囲を段落(パラグラフ)としてみ なして、カーソルがある段落について、1行が漢字で35文字になるように、 折り返す。
折り返す時の1行の文字数を変えることもできる。たとえば、漢字で30文字 (英数字の場合は、60文字)にしたい時には、次のように打つ。
C-u 60 C-x f
その他に、折り返したい位置にカーソルを移動させい、C-x fと打つ 方法もある。
mule の自動折り返しの機能を使うには、次の点に注意して文書を書くとよい。
mule で1文字削除は、delete キー(削除キー)を使う。 delete キーとしては、リターン・キー()の上に あるもの(backspace)が打ちやすい。このキーは、Telnet の設定によっては、 delete キーとして働く。
図5.5.2 telnetのdeleteキーの扱い(muleの1文字削除のため)
図5.5.2 は、Telnet
の
Setup
メニューで
Keyboard setup
のウィンドウを開いた様子を示している。ここで、
DEL
を選ぶとリターン・キーの上にある削除のためのキー
(backspace)が delete として働く。逆に、BS
を選ぶと、delete
キーが Control-H として働く。
なお、どうしても左の1文字削除がうまくいかない時には、次のようにする。
mule には、自習機能(tutorial)が付いている。それを利用するには、まず、 次のように、 mule を引数なしで実行する。
% mule
すると、画面に、どのような操作をすれば、自習機能(tutorial) が使えるかが表示される。
図5.5.3 muleの自習機能(引数なしで実行した直後の画面)
この図の例では、C-h t で英語の自習機能を、C-h T で日 本語の自習機能を使うことができることがわかる。どのようなキー操作でチュー トリアルが実行できるかは、設定によって異なる。
自習機能には、英語と日本語の2種類がある。案外、英語の方がわかりやすい かもしれない。というのも、mule の操作、得に、コントロール・キーを使う ものは、英単語を元に名前が付けられているからである。
mule では、「info」と呼ばれている機能を使うと、さまざまな説明を読むこ とができる。「info」を使う方法も、自習機能と同様に、mule を引数無しで 実行すると、最初の画面に表示される。標準では、C-h i である。あるいは、 次のように打つ。
ESC x info
info は、WWW と同じく、一種のハイパーテキストになっている。infoの画面 では、「::」の項目に、詳しい情報が埋め込まれている。読みたい 項目にカーソルを合わせて、「m 」と打つと、その項目が 読める。(カーソルを合わせないで「m 項目名 」 でもよい。)
以後、同様に m で項目を選んだり、n,p,u で別の項目 に移動したりして説明が読める。infoの画面で使えるキーをまとめる。
n
p
u
m
q
mule では、ファイルを編集(修正)する時には、直接ファイルの内容(ディ スクに保存されている)を書き換えているのではない。そうではなく、一度、 「バッファ(buffer)」と呼ばれるメモリにコピーし、バッファ の内容を書き換えることをしている。
バッファとは、一般には、速度が違うハードウェアの間でデータを転送する時 に、速度の調整をするために一時的にデータを蓄えるためのメモリである。 mule では、バッファという単語を特殊な意味で使っている。mule のバッファ は、次のような性質がある。
ファイルと対応関係を持たせることができる。(ファイルと対応関係がないバッ ファもある。)
名前がある。ファイルと対応しているバッファの場合、ファイル名がバッファ の名前になる。
画面に表示することができる。(mule では、画面に表示されていないバッファ もある。)
よく使われるバッファとファイルの操作には、次のようなものがある。
C-x C-f (find-file)
C-x C-s (save-buffer)
C-x C-w (write-file)
C-x i (insert-file)
mule では、一度に複数のバッファを画面に表示することができる。これを、 mule ではマルチウィンドウ機能と言っている。
良く使われるウィンドウに関する操作には、次のようなものがある。
C-x 2 (split-window-vertically)
C-x 1 (delete-other-windows)
C-x 0 (delete-window)
C-x o (other-window)
C-x C-b (list-buffers)
C-x b (switch-to-buffer)
---------------------------------------------------------------------- Switch to buffer: (default バッファ名) ----------------------------------------------------------------------
表示されている候補(default,省略時)でよければ、単にリターンを打つ。他の バッファにしたい時には、バッファの名前(-x C-bで表示されたも の)を打つ。
2つのファイルを比較しながら同時に編集する時には、次のようにすると便利 である。
画面に編集中のファイルが見えていなくても平気な人は、次のような方法もあ る。
この方法では、画面が広く使える。
カット&ペーストやコピー&ペーストの機能は、異なるバッファの間でも有効 である。この機能と、バッファの切り替えの機能を使えば、ファイル全体では なく、ファイルの中のある部分を別のファイルにコピーしたり移動したりする ことができる。
補完(completion)とは、ファイル名や機能名の一部を与えただけで、残りの部 分を人間の代りにプログラムが自動的に補ってくれることである。補完機能を 持っているプログラムには、次のようなものがある。
mule では、いろいろな場所で補完機能を使うことができる。たとえば、 C-x C-f (find-file) では、ファイル名を打ち込んで、リターンを 打つと、そのファイルを編集することができる。ここでは、次の名前のファイ ルを探すことを例として、補完機能の説明をする。
~/News/tsukuba.living
補完機能を使えば、この時ファイル名をすべてキーボードから打たなくてもよ い。
まず、mule を引数無しで実行する。(注意:cd コマンドを使った場合、動き が違うことがある。)
C-x C-f と打つ。すると、一番下の行が次のようになる。% mule
ここで、まず 「N」 と一文字だけ打つ。
次に、スペース・キーを打つ。すると、次のように残りの
「es/
」を mule が補ってくれる。
次に、またスペース・キーを打つと、mule は、ファイルの一覧を表示してく れる。
このように、スペース・キーを打った時に複数の補完候補があった場合には、 候補の候補を表示してくれる。ここで、「t」と打ってスペース・キー を打つと、1単語だけ補完する。
さらにスペース・キーを打つたびに、どんどん補完する。最後まで補完された 場合には、スペース・キーを打っても変化しなくなる。
結果として、このように長いファイル名も、わずかに N,t, スペース・キーだけで指定できたことにな る。
補完機能には、スペース・キー以外に、タブ・キー(TAB)にもある。 タブ・キーの場合、1単語1単語で止まるのではなく、補完できる所があれば 最後まで補完する。
なお、C-x C-fでは、新しいファイルを作ることもできる。存在しな いファイル名を指定すると、新しいファイルを作るということになる。ここで も補完機能を使って、既にあるファイルの名前の、前半部分は同じで、後半部 分が違う時にも、前半は補完で打ち、後半は補完を使わないで打つという方法 が使える。
補完機能は、C-x C-f (find-file) だけでなく、C-x C-w (write-file) でも、C-x i (insert-file) でも、C-x b (switch-to-buffer)でも使える。他にも mule では、さまざま所で使える。
C-x C-f (find-file)で、~/www/index.html
というファイル
を編集するには、どうすればいいか。うまく補完機能を使うようにしなさい。
mnews でも、記事を保存する時に、既に存在するファイルに追加(アペンド) して保存する時に補完機能を使うことができる。但し、複数の候補がある時に は、スペース・キーを押す度に候補が入れ替わる。
サーバにログインした時、「% 」と表示して、コマンド名が打ち込まれるのを 待っているプログラムは、tcsh (T-C Shell, ティ・シー・シェル) というプ ログラムである。tcsh にも補完機能がある。
tcsh の補完を使うには、タブ・キー(tab)、または、^I キー (Control-I)を用いる。補完の候補を表示させるには、^D キー (Control-D)と打つ。
mule の自習機能で mule の使い方を練習しなさい。
ネットワーク・ニュースのフォローアップ(大文字のF)や、電子メー ルによる返事(大文字 R)では、必要最小限の引用をすることが望ま れる。さらに場合によっては、引用する順番を変えることが望まれる。これを、 カット・アンド・ペースト機能を使って行いなさい。
この手引きに関して追加情報が、次のWWWページにある。
http://www.ipe.tsukuba.ac.jp/~yshinjo/tebiki/
mule については、次のページにドキュメントがある。
http://selen.c.u-tokyo.ac.jp/FAQ-Mule-jp.html
Muleに関するよくある質問と答え
http://pearl.scphys.kyoto-u.ac.jp/comp-doc/mule/index-j.html
京都大学原子核理論WWWサーバにあるmule に関するドキュメ ント