日本語・日本語文化学類2班,1996年10月07日-14日

ng(emacs,mule)の便利な機能

                                       電子・情報工学系
                                       新城 靖
                                       <yas@is.tsukuba.ac.jp>

このページは、次の URL にあります(1行で打つこと)。
http://www.hlla.is.tsukuba.ac.jp/~yas/classes/ipe/nitiniti2-enshu-1996/1996-09-30/ emacs-middle.html

あるいは、次のページから手繰っていくこともできます。 http://www.hlla.is.tsukuba.ac.jp/~yas/classes/ipe
http://www.hlla.is.tsukuba.ac.jp/~yas/index-j.html
http://www.ipe.tsukuba.ac.jp/~yshinjo

■エディタ ng,emacs,mule

エディタ(editor)とは、テキスト・ファイルを作ったり内容を書き替えたりす るためのコマンド(プログラム)です。実習では、エディタとして ng を使って います。ng は、emacs というエディタの機能を簡素化したものです。emacs が進化して、多国語対応(multilingual)になったものが、mule です。 emacs の日本語対応版 nemacs というものもあります。

実習で使っているコンピュータ(Sun)には、ng と mule が入っています。 emacs 打つと、mule が実行されるようになっているようです。普段使ってい る分には、ng, emacs, mule の区別は、あまり気がつきません。このページで は、ng で代表させて説明します。emacs (mule) でなければ動かない所では、 emacs (mule) と書きます。

■実行

ng は、電子メールやネットワーク・ニュースの記事を書く時に自動的に実行 されます。ある特定のファイルを編集(edit,書き替え)したい時には、次のよ うに単独で実行します。

% ng ファイル名 [←]
引数として、編集したいファイルの名前を与えます。

■操作

ng では、キーボードから打込んだ普通の文字(アルファベット、数字、記号、 漢字)などは、そのまま画面に書き込まれます。特殊な操作をしたいときには、 コントール・キーや ESC キー(Escape)を使います。

操作をするキーには、次のようなものがあります。

C-何か (コントロール) 
コントロール・キーを押しながら、 何か他のキー(アルファベットや空白、@ など)を打つ。
M-何か あるいは、ESC 何か
ESC キーを打った後に、 何か他のキー(アルファベットや空白、@ 、コントロール・キーを押しながら も含む)を打つ。 全部で普通2回キーを打つ(もっと多くなることもある)。
C-x 何とか
コントロール・xを打った後に何か他のキー 何か他のキー(アルファベットや空白、@ 、コントロール・キーを押しながら も含む)を打つ。 全部で普通2回キーを打つ(もっと多くなることもある)。
ESC x 機能名
機能に付いている名前でその機能を呼びだし、操作する。
詳しくは、→手引き(入門編)[55-61]。

■困った時には C-g

何か ng がおかしな状態になった時には、C-g (control-g,)を何度 か押します。

■保存と終了

C-x C-cで終了します。普通は、終了の前に C-x C-s で編集中の内容をファイ ルへ保存します。しかし、保存しないで終了しようとした時には、次のように 聞いてくる。
----------------------------------------------------------------------
Save file /home1/yshinjo/dir1/file1? (y or n)
----------------------------------------------------------------------
保存(save)する時には、y, 保存しない時には n を押します。

もし、ここで n を押した場合、ng は、さらに次のように聞いてくる。

----------------------------------------------------------------------
Modified buffers exist; exit anyway? (yes or no)
----------------------------------------------------------------------
ここで、バッファ(buffer)とは、ng (emacs) 独自の用語です。バッファとは、 ng を終了すると消えてしまうメモリと考えていいでしょう。ng は、保存しな いで終了する時には、念には念を入れて確認してくるわけです。しかも、保存 するかしないかの時には、y, n の1文字だったのが、今 度は、yes, no と、複数文字にさらにリターン・キー [←] まで押さないといけないように作られています。

■カット-アンド-ペースト

エディタやワープロでは、カット・アンド・ペースト(cut&paste)という操 作がよく使われます。カットとは、文書の一部を表面上削除するのですが、内 部的なメモリに保存することです。ペーストとは、カット操作で保存してもの を、文書に挿入することです。カット・アンド・ペーストとよくにたもので、 コピー・アンド・ペースト(copy&paste)というものもあります。コピー・ア ンド・ペーストでは、操作対象の文書の一部は、削除されずに残っています。

カット・アンド・ペーストを使うと、次のようなことができます。

emacs で、カット・アンド・ペーストを使うには、領域(region)というものを 使います。領域とは、目に見えないマーク(mark)とカーソルの間のことです。 マークを付けるには、マークを付けたい場所にカーソルを移動させ、 C-SPC (コントロール-SPACE) や C-@ を押しま す。その後、カーソルを移動させると、前にマークを付けた所と、カーソルの 間が領域(region)になります。

領域をカットする操作は、C-w です。 領域をコピーする操作、ESC w です。 ペーストは、C-y です。

■自習機能(tutorial)

emacs や mule には、自習機能(tutorial)が付いています。それを利用するに は、まず、次のように、emacs か mule のどちらか(どちらでも同じ)を引数 なしで実行します。
% mule [←]
すると、画面に、どのような操作をすれば、自習機能(tutorial)が使えるかが 表示されます。

図3-1 emacsの自習機能(引数なしで実行した直後の画面)

図3-1 emacsの自習機能(引数なしで実行した直後の画面)

この図の例では、C-h t で英語の自習機能を、C-h T で日 本語の自習機能を、使うことができることがわかります。どのようなキー操作 かは、設定によって異なります。

自習機能には、英語と日本語の2種類があります。案外、英語の方がわかりや すいかもしれません。というのも、emacs の操作、得に、コントロール・キー を使うものは、英単語を元に名前が付けられているからです。英語になるか日 本語になるかは、キーを打つ時に大文字か小文字かで変ってきます。

■Deleteキー

ng では、C-h で、左の1文字削除になります。emacs, mule では、 C-h は、help の意味で、C-h に続いて押したキーによっ て様々な説明が表示されます。C-h t, C-h T を押すと、 上で説明した通り、自習機能を使うことができます。

emacs, mule で1文字削除は、delete を使います。ただし、端末 (パソコン) によっては、うまく delete キーが入らないことがあり ます。その時には、次のようにして、Telnet の設定を自分で 直すこともできます。

図3-2 telnetのdeleteキーの扱い(emacs,muleの1文字削除のため) '

図3-2 telnetのdeleteキーの扱い(emacs,muleの1文字削除のため)

この図で、Session メニューで、Delete を選ぶと delete キーが delete として働きます。Backspace を選ぶと、delete キーが Control-Hとして働きます。

なお、ng, emacs, mule とも、左の1文字削除がうまくいかない時には、次の ようにするといいでしょう。

■練習問題

  1. emacs, mule の自習機能で emacs の使い方を練習しなさい。
  2. ネットワーク・ニュースのフォローアップ(大文字のKey(F))や、電子メー ルによる返事(大文字 Key(R))では、必要最小限の引用をすることが望まれる。 あるいは、場合によっては、引用する順番を変えることが望まれる。これを、 カット・アンド・ペースト機能を使って行いなさい。

[日日2班] [9月30日] [10月7日] [ファイルとディレクトリ] [記事の保存]
Last updated: 1996/10/14 04:07:52
Yasushi Shinjo / <yas@is.tsukuba.ac.jp>