次のページ 前のページ 目次へ

1. テキスト処理(emacs,xemacs)

UNIX上で文章やプログラムなどを作成する場合によく使われるエディタが emacsやxemacsです。キーでの操作方法はどちらもほとんど同じですが、 xemacsのほうがよりグラフィカルでツールバーもありますので、初心者に はとっつきやすいかもしれません。 また、emacs と同様のキー操作のエディタで軽いものに ng, jedなどもあります。

X ウィンドウ上でエディタ xemacs や emacs を起動するには、 ターミナル ktermでコマンドを入力します。 ( )

$ xemacs                           xemacs の起動
ファイル名を与えて起動すると、そのファイルが起動時に読み込まれます。
$ emacs test.c                     test.c を読み込んで emacs を起動

コンソール上で emacs や xemacs を起動するときにはオプション -nwをつけます[注]。この場合ウィンドウは表示されません.

$ xemacs -nw                        コンソール上での xemacs の起動

[注]オプション-nwは No Window (ウィンドウなし)という意味です.

ファイル操作等はメニューからも行うことができますが、できるだけキー操作を 覚えたほうが作業効率がよくなります。emacsやxemacsでは日本語チュートリ アルがありますので、ぜひ試してみてください。 日本語チュートリアルは、emacs の場合はメニューバーの"help"/"Emacs Tutorial" で、xemacs の場合は "ヘルプ"/"基本"/"Tutorials"/"日本語" を選ぶと起動 します。

なお、emacsやxemacsの使用中に表示がおかしくなったら

C-g ([Ctrl]+[G])
を連打すると、かなりの場合もとの状態に戻ります。 また、
C-x C-c ([Ctrl]+[X]のあとに[Ctrl]+[C])
でemacs(xemacs)を終了します。[注]
[注]emacsやxemacsでは、「C-」が「[Ctrl]を押しながら」を意味し、
  「M-」が「[Alt]を押しながら」もしくは「[ESC]を押したあとに」という意
  味になります。たとえば「C-n」は「[Ctrl]+[N]」を、「M-v」は
  「[Alt]+[V]」もしくは「[ESC][V]」の意味です。

1.1 emacs の画面

( ) emacs や xemacs では、編集中の文書はバッファと呼ばれるメモリ領 域に読み込まれ、このバッファの内容に対して書き込みや修正を行います。ファ イルに保存する命令を実行した時にはじめて、バッファの内容はディスク上の ファイルに書き込まれます。

バッファの内容はウィンドウに表示されます。ウィンドウは複数用意 することができ、そこに複数のバッファの内容や、同じバッファの違う部分を 表示して編集を行うことができます。

バッファの編集状況等の情報は、モードラインに表示されます。図の 例では次のことがわかります。

1.2 文字入力

ウィンドウにカーソルがある時、キーボードから入力した文字はカーソル位置 に挿入され、カーソルが進みます。日本語を入力する時には、'C-\'で日本 語切替えモードになります。 もう一度'C-\'を押すとアルファベットの入力モー ドに戻ります。

日本語入力システムは、Vine Linux 2.1CRでは,Wnn6と Canna (かんな)を選 択できます。FTP版ではFreeWnnとCannaから選択できます。選択方法は、 第「Xアプリケーションでの日本語入力」節を参照してください。

1.3 カーソル移動

(表)

キー操作         意味
C-b              一文字左へ 
C-f              一文字右へ 
C-p              一文字上へ 
C-n              一文字下へ 
C-v              次の画面に進む
M-v              前の画面に戻る 
C-d              カーソル位置の文字を削除 
C-k              カーソル位置から行末までの文字を削除 
C-e              行の一番右へ
C-a              行の一番左へ
M-f              一単語右へ
M-b              一単語左へ
M-g              <行番号>  指定行へ移動 (xemacs)
M-x goto-line    指定行へ移動 

編集中のカーソルの移動は矢印キーの他、以下のようなキーで移動できます。

                     C-p (上へ, previous)
C-b (左へ, backward)         +          C-f (左へ, forward)
                     C-n (下へ, next)

また、C-v で一画面前進、M-v で一画面後退します。 その他、カーソル移動のための様々なキーがあります。

1.4 文字削除

(表)

C-d              カーソル位置の文字を削除 
M-d              カーソル位置から一単語削除
C-k              カーソル位置から行末までの文字を削除 
M-k              カーソル位置から文末までの文字を削除

カーソル位置の文字の削除はC-dを用います。 その他単語の削除や行末の削除等のキーもあります。

1.5 文字列検索・置換

(表)

キー操作           意味 
C-s                文字検索 (カーソル行以降で検索)
C-r                文字検索 (カーソル行より前で検索)
M-%                文字列置換(確認あり)
M-x replace-string  文字列置換(確認なし)

カーソル行以降の文字列検索には、C-s を用います。C-s を入力するとミニ バッファに

I-search:
と表示されるので、検索したい文字列を入力してください。 検索の終了は C-g を押します。 一度入力した文字列を続けて検索したい時には、C-s を続けて2回押します。 C-s の代わりに C-r を用いるとカーソル位置より前にある検索文字列を表示 します。日本語の文字列を検索する場合は,C-sの後にEnterを押してから, C-\でかな漢字変換モードにしてから入力して下さい.

確認付きの文字列の置換を行うには M-% を用います。M-% を入力すると

Query-replace:
とミニバッファに表示されますので、まず置換したい文字列を入力します。例え ば, C言語プログラムでint を long にしたいときには、M-%の後に int と入力し、 Enterキーを押します。ミニバッファの表示が以下のように代わるので、ここ で long を入力し, Enterキーを押します。
Query-replace int with: long
置換する文字列 int があるとそこで、以下のように表示されます。
Query-replace int with long: (? for help)
ここで、スペースキーか'y'を押せば置換が行われ、'n'を押すと置換は行わず、 次の候補に移動します。終了するときには、Enterキーか'q'を入力しま す。上に表示されている通り '?' を入力すればコマンドのリストが表示さ れます。

文字列の置換を確認なしに一括して行いたいときには、 まず M-x を入力ます。このとき、ミニバッファの表示は以下のようになります。

M-x
ここで、replace-string と入力し、Enterキーを押します。
M-x replace-string
その後は、確認のある場合の文字列置換の場合と同様に、置換のための文字列 を入力すれば、一括置換が行われます。

emacs には replace-string の他、非常にたくさんのコマンドがあり、M-x は、 このコマンドを入力するのに使われます。コマンドの名前はTabキーで補完し ながら入力することができます。候補のコマンドが複数あるときには、 候補一覧が表示されます.

1.6 アンドゥ (取消)

(表)

キー操作           意味 
C-x u              アンドゥ(実行したコマンドの取消)

実行したコマンドを取り消して、バッファを元の状態に戻すには、C-x u を用います。連続して C-x u を用いると、実行した回数だけ前の状態に戻り ます。

1.7 カット/コピー/ペースト

(表)

キー操作  意味
C-space   始点のマーク
M-w       始点から現在のカーソル位置までを記憶(コピー)
C-w       始点から現在のカーソル位置までを削除して記憶(カット)
C-y       記憶内容をカーソル位置に貼付け(ペースト)

編集中のバッファの一部分を別の場所にコピーするには以下のような手順で行 います。

  1. コピーしたい部分の先頭にカーソルを移動します。
  2. C-Space を入力します(これで先頭位置が記憶されます)。
  3. コピーしたい部分の終りにカーソルを移動します。
  4. M-w を押す(これで先頭位置からこの終りの部分までが記憶されます。 この部分をリージョン(region:領域)と呼びます。
  5. コピー先にカーソルを移動します。
  6. C-y を入力します。これでコピー完了です。

一部分を削除したい時には、上のコピーの手続きで、M-w を入力するか わりに、C-w を入力すれば、設定したリージョンは削除され,記憶され ます。

一部分を移動したい時には、上の手続きで削除を行った後、移動先へカーソル を持って行きコピーの場合と同様に C-y を入力すれば、削除され,記憶されて いるリージョンがそこに出力されます。

1.8 ウィンドウ操作

(表)

キー操作  意味
C-x 2     ウィンドウを上下に分割
C-x 3     ウィンドウを左右に分割
C-x o     分割したウィンドウ間をカーソル移動
C-x 0     分割したウィンドウのうちカーソルのあるほうを閉じる
C-x 1     分割したウィンドウのうちカーソルの無いほうを閉じる
C-x 5 2   新しいウィンドウ(フレーム)を開く
C-x 5 o   ウィンドウ間でカーソル移動
C-x 5 0   カーソルのあるウィンドウを閉じる
C-x b     現在のウィンドウに表示するバッファを指定する

複数のファイルを編集する場合には、ウィンドウを複数開いて、各ウィンドウ に、同じバッファの異なる位置を表示したり、複数のバッファを表示したりし て編集することができます。

例えば C-x 2 を入力するとカーソルのあるウィンドウが上下2つに分割され ます。もとの通り分割されたウィンドウを一つに戻すには、C-x 1 を入力す れば、カーソルのあるほうのウィンドウのみの表示になります。 分割したウィンドウ間のカーソル移動には C-x o を用います。 分割したウィンドウの境界はマウスでドラッグすれば移動することもできます。

また、C-x 5 2 を入力すると、あたらしいウィンドウがつくられます。 複数のウィンドウ間のカーソル移動には C-x 5 o を用います

現在のウィンドウに表示するバッファを変更したい時には C-x b を入力す ると, 以下のように表示されます。

Switch to buffer: (default test.txt)
ここで、ウィンドウに表示したいバッファ名を入力し、Enterキーを押せば 表示バッファが切り替わります。ここで、候補のバッファの一つが上のように default の後ろに表示されます。この候補でよいときには単にEnterキーを 押してください。

1.9 ファイル一覧ウィンドウでの操作

(表)

キー操作          意味
n                 カーソルを次の行へ進める
p                 カーソルを前の行へ戻す
1                 カーソル行のバッファを現在のウィンドウいっぱいに表示する
f                 カーソル行のバッファを現在のウィンドウに表示する
d                 カーソル行のバッファに削除マークをつける
s                 カーソル行のバッファに保存マークをつける
x                 削除マークのあるバッファを削除し、保存マークのあるバッファをファイルに保存する
u                 バッファについているマークを消します。

C-x C-b で編集中のバッファの一覧が表示されます。 この一覧表示をしてるウィンドウに C-x o で移動すると、各バッファについ ていろいな操作を行えます。カーソルの移動は、編集時と同様に C-n, C-p な ども使えますが、この一覧表示のバッファでは単に n や p でも移動できます。

ウィンドウに表示したいバッファ名の位置にカーソルを移動し、1 を入力すると ウィンドウにはそのバッファの内容が表示されます。その他、削除マークや保存 マーク等をつけて、一括して削除や保存と言った作業も行えます。できる操作 の一覧は「?」で表示されます。


次のページ 前のページ 目次へ