2004 年度「計算機基礎論3B」 2004-10-08

テキストエディタ emacs

この授業では unix の標準的テキストエディタの一つである emacs を使います。

emacs にはそれ専用の(いわゆる)日本語入力の機能 Wnn が用意されています。 それは linux のそれ --- Shift+Space で On/Off するもの --- よりもはるかに高性能です。

(たぶん)米国で作られた emacs を日本語などの言語にも対応できるようにしたものを、 一時期、mule と呼んでいました。 よって、いまでも mule と呼ぶ人がいますし、 mule の参考書として書かれた本やホームページも役に立つかもしれません。

emacs の起動

Terminal の中で、プロンプトが出ているところで、 「emacs filename」と打って起動する。 filename は実際には編集したいファイル名である。 「emacs filename &」と & をつけて起動すれば、 emacs の起動後、Terminal にはすぐにプロンプトが出る。

練習: きょうはまだファイルについて習っていないので、 「emacs a」「emacs b」などとしてみよう。 最初は空白の画面が出る。 次からは前に打って保存したものが出るはずだ。 & の有無の違いをよく理解すること。 ファイル名を忘れて「emacs」としてしまったら、 あとで述べるようにして終了してやり直し。

emacs の操作法

emacs の操作法の記述では、 Ctrl キーを押しながら x のキーを押すこと、 すなわち Ctrl+XC-x と書く。 Alt キーを押しながら x のキーを押すこと、 すなわち Alt+XM-x と書く。 後者は ESC キーに続いて x のキーを押すことで代用もできる。 Alt+X が別の意味になる環境もあるので、 「ESC キーに続いて x」 のほうを覚えておくほうがよいかもしれない。 (この略記法を使うのは emacs の操作法の説明のときだけなのでそのことにも注意。)

emacs には極めて多くのコマンドがあるので、 うっかりコマンドを打ち間違えて予期せぬ動きが始まることがあるが、 C-g で中断できるかもしれないので試すこと。 それでだめなら emacs を終了する。

練習: C-h を二度打つと、下半分に Help が出るはずだ。 ここで C-g を打ってみよ。

四つの矢印キーでカーソルが動かせる。 マウスでクリックすることでもカーソルを動かせる。 左端のスクロールバーで表示範囲を変えられる。 キーを打てばその文字がカーソル位置にはいる。 Enter を打てばそこで改行される。 Backspace キー、 Delete キーで文字が削除できる。 行末には、見えないが「改行」という文字がはいっている。 それを削除すれば二つの行が合併されて一つになる。

練習: 適当にキーを打ってこれを試すこと。

Ctrl+\ で、 アルファベット入力モードと(いわゆる)日本語入力モードが交互に切り換わる。 いまどちらにいるのかは画面左下を見ればわかる。

日本語入力モードではローマ字で読みを入力するとひらがなで表示される。 たとえば「tegami」と打つと「|てがみ|」のようになる。 両端の「|」はその間の文字が未確定であることを示している。 求める文字が出るまでスペースを打って変換し、 次の文字を入力すれば確定する。 (この操作ではほかに矢印キーを使う局面もある。 適当に試して覚えること。)

|ぎょうでん|」を変換しようとして 「|業 でん|」になってしまったように、 間違って切り分けられた場合は C-oC-i を押してみよ。 (私が打とうとしていた語は「使徒行伝」の「行伝」である。)

練習: 適当にキーを打ってこれを試すこと。 自分の氏名も打ってみよ。

emacs では、 一行が画面上の複数行に渡る場合は画面外に曲がった矢印が表示される。 (そのように長い行は、 特に理由がなければ、短く切り分けるべきである。)

練習: わざと長い行を作ってこれを確かめよ。

emacs の終了

emacs を終了するには、 未確定文字のない状態で C-x C-c を押す。

「Save file filename?」と聞いてきたら、 セーブする場合は「y」、しない場合は「n」を押す。 「n」を押すと「Modified buffers exist; exit anyway? (yes or no) 」 と確認してくるので、本当に保存しないで終了するなら 「y」ではなく「yes」と答える。

あるいは、emacs のウィンドウの「File」をクリック。 出てきたメニューの一番下の「Exit Emacs」をクリックし、 あとは上の例にならって質問に答える。 (「Exit Emacs」の右に C-x C-c と書いてあるのは同等のことがこのキー操作でもできる、 の意味である。)

(保存しないで終わる場合、C-x k あるいは 「File」「Close (current buffer)」をしてから終了するほうが、 auto-save file --- #filename# のように元のファイル名の前後に # をつけた名前になる --- が作られないのですっきりする。)

範囲指定とコピー&ペースト

「範囲指定」をするには、 始点でマウスの左ボタンを押し下げ、 押したままマウスカーソルを終点まで移動し、 そこでボタンを押すのをやめる。 指定された範囲は色が変わる。

「編集」または「Edit」をクリックすると出てくるメニューの中の 「切り取り」または「Cut」をクリックすると範囲指定された部分が消えてなくなる。 これを以下では 『「編集」「切り取り」(または「Edit」「Cut」)』などと書く。 (ブラウザの中など、変更できないところでは「切り取り」「Cut」のメニューが出ない。)

そのあとで emacs のウィンドウの中などをクリックしてから 「編集」「貼り付け」(または「Edit」「Paste」) とすると、上の操作で最後に消したものがそこに貼り付けられる。 結果として、テキストの一部を他の場所に移動したことになる。

練習: emacs の中で、この操作を試せ。

範囲指定をしてから「編集」「コピー」あるいは 「Edit」「Copy」とすると、範囲指定された部分が内部にコピーされる。 画面では何も変わらないので注意。 そのあとで上の貼り付け操作を行なうと、 範囲指定した部分が(普通の意味で)コピーできる。

練習: これを試せ。 Netscape から emacs の中へ、 あるいは emacs の中から中へ、両方試せ。

練習: 「emacs a &」「emacs b &」 として二つのファイルを編集し、その間で上の二種類の操作を試せ。


岩瀬順一