emacsの使い方の初歩

emacsとは

コンピュータ上のファイルは、テキストファイル(text file)とバイナリファイル (binary file)から構成されている。 このテキストファイルを表示、編集するために作られたのが テキストエディタと呼ばれるソフトウェアである。 emacsも、テキストエディタの一種である。


はじめに

emacsを使いこなすためには、通常のアルファベットや数字に対応したキー以外に Ctrl(コントロール)-キーとESC(エスケープ)-キーをよく用いる。

以下の説明では、コントロールキー(キーボード中でCtrlと書いてあるキー)を C-と書く。エスケープキー(キーボード中でESCと書いてあるキー)を Esc-と書く。

コントロールキーは、「コントロールキーを押しながら他の文字キーを押す」、といった使い方をし、エスケープキーは「エスケープキーを押してから離し、これに続いて文字キーを押す」といった使い方をする。

例えば、コントロールキーを押しおしながらAのキー(即ち小文字のa)を押す操作のことをC-a と書くものとする。
また、エスケープキーを押した後でVのキー(即ち小文字のv)を押す操作のことを Esc-vと書くものとする。


emacsを使ってみよう

  1. 起動

    emacsを起動するには

    	% emacs ファイル名
    

    とする(ファイル名は指定しなくても起動できる)。

    emacsではファイルに対して直接編集を加えるのではなく、バッファとよばれる メモリ上の領域に対して編集を行ない、この内容を保存することによりファイル に書き出されることになる。現在のバッファの内容を保存するためには
    C-x C-s
    を行なう。

    emacsを終了するためには
    C-x C-c
    とする。 新しい(別の)ファイルを読み込んで編集するためには
    C-x C-f
    としてファイル名を指定する。
    新しいファイル"insert-sort.c"を読み込む例

    (i). C-x C-fとしてファイル名insert-sort.cを指定する。

    (ii). 実行結果


  2. 困ったときは?


  3. 日本語の入力

    日本語の文章を入力するためには、kinput2を利用(Shift-Spaceを押せば切り替わる)してもよいし、あるいは、emacs上で、 C-\と入力すると日本語入力が可能になる(元に戻すときも同じコマンドを入力すればよい)。(これを実行すると左下隅の表示が「あ」となる)


  4. カーソルの移動

    emacsを使用して文章の編集を行うときには、文字を挿入したり削除したりする箇所に カーソルを移動させる必要がある。このためには(マウスや矢印のキーも使用可ではあるが)以下のようなコマンドが用意されている。

    これ以外にも以下のようなコマンドもある。


  5. 削除、コピー、移動(カット&ペースト, cut & paste)

    文字を削除していくには以下のようなコマンドを使用すればよい。

    C-k(あるいは後述のC-wEsc-wなど)で削除された 文字列は削除リングと呼ばれる領域に保存されている。この内容はC-y を実行することにより、そのときのカーソル位置に挿入することができる。 これを用いれば、テキスト内容のカット&ペーストが可能になる。

    例:
    (i). 削除したい部分の先頭にカーソルを持って来る

    (ii). C-kを実行して削除

    (iii). 別の位置にカーソルを持って行く

    (iv). C-yを実行

    複数行に渡ってカット&ペーストを行なう場合には以下のコマンドが便利である。

    例:

    (i).C-spaceでマーク設定

    (ii).カーソル移動

    (iii)-a.C-wを実行した場合(領域は削除される)

    (iii)-b.Esc-wを実行した場合(領域は削除されない)

    以下はEsc-wを用いた場合の例

    (iv).ペーストを行なう箇所にカーソル移動

    (v).C-y実行


  6. 分割ウィンドウの利用

    2つのファイルのうちの片方からある部分を別のファイルにコピーしたい場合などは、 1つの画面を複数のウインドウに分割し、作業対象の複数ファイルを表示すると便利 である。この場合は以下のようなコマンドを用いればよい。

    例:

    (i).C-x 2でウインドウ分割

    (ii).C-x C-fで別ファイル読み込み

    (iii).C-x oでカーソルを分割されたウインドウ間で移動

    (iv).C-x 0で現在カーソルのあるウインドウを閉じる


  7. 検索、置換

    ファイル中からある文字列を検索するためには次のようなコマンドを用いればよい

    例:

    (i).C-sを入力

    (ii).検索対象文字列algorithmをタイプすると、カーソルがその文字列位置に移動

    (iii).再度C-sを入力すると次の文字列位置に移動

    文字列の検索を行なうだけでなく、文字列を検索してそれを別の文字列に置き換える(置換) 場合には、置換を行なってよいかどうか確認しながら処理を行なうことができる query-replaceが便利である。このためには例えば以下のような操作を行なえばよい。

    例:

    (i).Esc-xを押し、query-replaceと入力してreturn

    (ii).Query replace :以降に検索したい文字列algorithmを入力してreturn

    (iii).さらに、with以降にそれを置き換える文字列*****を入力してreturn

    (iv).文字列algorithmを検索し、それを本当に*****で置き換えてよいか聞いてくるので 置き換えてもよい場合はspaceまたはy、置き換えない場合はnを入力

    (v).spaceを入力した場合:置換を行ない、次の文字列を検索して置き換えてよいか 尋ねてくる。置換処理を終了したい場合はqを入力すればよい。


  8. チュートリアル

    emacsの使用に習熟していないときには、 チュートリアル(tutorial)を利用して独習することができる。 チュートリアルを見るためには、以下のようにすればよい。

    (i)まずEsc-xとする(エスケープキーを押してから離して、続いてxを押す)

    (ii)続けてhelp-with-tutorialと入力(タイプ)する。このとき、下に示すように help-までタイピングしてからSpaceキーを押すと、可能な候補が出て来るので (忘れてしまったときなどには)便利である

    (iii)help-with-tutorialとタイプしてreturnキーを押す

    (iv)すると以下のようなチュートリアルが現れるはずである(皆さんのノートPCでは日本語版のチュートリアルが現れるはずです)