| Emacs の起動と終了 | ファイル名の指定 | 編集(入力・修正) | かな漢字変換 | 編集結果の保存 | チュートリアル機能 | 良くある質問・トラブル | 参考書籍 | Emacs について |
このドキュメントの読み方
ここでの説明は用語や表現について厳密ではないことに注意してください。 Emacs にはメッセージや表示、動作について、多くの用語が決められています。 ここでは専門用語を使い、その細かな定義や概念の説明をすることを避けていると理解してください。
教材として利用される方は「Emacs の起動と終了」から「編集結果の保存」までを一通りなぞれば、最初の Emacs に慣れるコース教材となるでしょう。独習として読んでいる学生は「チュートリアル機能」以降も一通り目を通すことを薦めます。
Emacs を起動するには、次のコマンドをプロンプトで入力します(%がプロンプト)。
% emacs &
ここでの"&"はコマンド入力したシェルに対してバックグラウンドプロセス (Background Process) として動作させることを意味します。
この結果、画面上に、Emacs のウィンドウが新しく一つ開きます。
Control - X 、Control - C で Emacs は終了し、ウィンドウが消えます。
具体的なキー操作は、Control キーを押しながら X キーを押し、続いて Control キーを押しながら C キーを押す、となります。
Emacs ウィンドウの左下隅に注目しながら Control - X を押してください。
下図のような表示( C-x- )が現れます。
この状態で Control - C です。Emacs ウィンドウが消えるでしょう。 もしうまく終了できなかった場合は 良くある質問・トラブル をチェックしてください。
Emacs ではこのようにして Control キーを多用しますが、これ以降このキー操作を C-x C-c と表記することにします。 もし C-x の途中で操作を中断したいと思ったら、C-g です。
ファイルにテキストを入力する Emacs の基本的な操作を、例に沿って具体的に説明します。 これ以降は Emacs を起動し、そのウィンドウに対してキー操作していくものとします。
ファイル名を指定するには C-x C-f にファイル名、です。まず C-x C-f とタイプしてください。
ここでファイル名として memo.txt とタイプし、Enter キーを押してください。
いずれにしてもウィンドウ左下の、それまで「*scratch*」だった部分が、これから作成・保存しようとしているファイルの名前「memo.txt」に置き換わっている点に注目してください。
この状態でキー入力すると、タイプした文字がそのまま画面上に現れ、入力されていきます。 訂正は Back Space キー、カーソル移動はカーソルキー(矢印キー)です。 主要なカーソル移動操作などについて以下にあげておきます。
改行 | Enter キー |
カーソル直前の文字を削除 | Back Space キー |
カーソル直後の文字を削除 | C-d (delete) |
カーソルより右を一気に削除 | C-k |
カーソルを一つ左に移動 | 矢印キー(←)または C-b (back) |
カーソルを一つ右に移動 | 矢印キー(→)または C-f (forward) |
カーソルを一つ上に移動 | 矢印キー(↑)または C-p (previous) |
カーソルを一つ下に移動 | 矢印キー(↓)または C-n (next) |
カーソルを行頭に移動 | C-a |
カーソルを行末に移動 | C-e |
一ページ下へ移動 | C-v |
一ページ上へ移動 | Esc-v (Escape キーを押したあとで v キーを押す) |
文書の先頭へ移動 | Esc-< (Escape キーを押したあとで < をタイプ) |
文書の末尾へ移動 | Esc-> (Escape キーを押したあとで > をタイプ) |
カーソル行を画面中央にする | C-l |
入力や操作について何かミスをしてしまった、という場合にはアンドゥ ( Undo ) 機能を試すと良いでしょう。 Undo 機能の呼び出しは C-x u です。 一度 Undo するたびに、少しずつ直前の操作をさかのぼって修正内容を復元してくれます。
Emacs には、かな漢字変換モードと英文字入力モードがあります。
現在どちらのモードであるかは Emacs ウィンドウ左下に表示されます。
[--]
と表示されておれば英文字入力、 [あ]
と表示されておればかな漢字変換モードです。
二つのモードの切り替えは C-\ (Control とバックスラッシュ、または円記号)で行います。
かな漢字変換モードでタイプした文字は、ローマ字とみなされてかなに変換されて表示されます。試みに「watasino」とタイプしてみました。
両側を縦の棒で囲んだようにしてかなが表示されています。このため Emacs でのかな漢字変換途中を「フェンスモード」と呼ぶ時もあります。
ここでスペースキーを一度押すと、それまで入力されたかなが漢字に変換されます。同時にモード表示が [漢]
に変わっている事に注目してください。
この状態で Enter キーを押せば確定します。
また、今回は希望どおり「私の」と変換されましたが、もう一度スペースキーを押すことで、次の候補が一番下の行に列挙されるかたちで現れます。
スペースキーまたは矢印キー、それに対応する C-f, C-b, C-p, C-p キーで操作して候補を選ぶことができます。Enter キーで候補を決定、もう一度 Enter キーを押せば確定します。
縦の棒(フェンス)が消えて確定したことを表現しています。モード表示も再び [あ]
となり、続けてローマ字かな入力ができる状態になっています。
続いて文節区切りの調整を伴う再変換、つまり比較的長めのかな漢字変換の例を示します。
「変換がうまく行かない時は」と変換したかったのですが、「変換がうまく行かないときは」となってしまいました。
「変換が」と「うまく行かない時は」の2文節と自動判定されている(文節間の隙間が目印)ため、まず C-f で再変換対象を後ろに移動させます。(上の図ではよく分かりませんが、操作画面上ではカーソルが今どこの文節が処理対象か示してくれます。)
一つ前の文節に移動 | 矢印キー(←)または C-b (back) |
一つ先の文節に移動 | 矢印キー(→)または C-f (forward) |
先頭の文節に移動 | C-a |
最後の文節に移動 | C-e |
続いて C-i で「うまく行かないときは」の文節を「うまく行かない」に縮めると、残りの「ときは」が新たに一つの文節として変換され、「時は」と希望通りになりました。
その文節が希望通りの変換をされない場合はスペースキーを押して再変換します。こうして文節の選択と、文節長さの変更、再変換を繰り返して、目的の変換結果にたどり着けば良いわけです。
なお、文節の長さを伸ばす場合は C-o です。
文節の長さを詰める | C-i |
文節の長さを伸ばす | C-o |
うまく変換できれば Enter キーで確定です。
いま編集しているファイルに保存(いわゆる上書き保存)するには、C-x s です。
ウィンドウの最下行に「Wrote /NF/home... 」として、どこに保存したのか表示しています。
いま編集しているファイルとは異なるファイルに保存するには、C-x C-w です。
画面最下行に「Write file :~/」として、保存するファイルの名前を尋ねてきます。 そのままファイル名をタイプします。 例では memo2.txt としてみました。
ファイル名が入力できたら Enter を押してください。
もしその名前のファイルが既にあった場合、「File `~/memo2.txt' exists; overwrite? (y or n)」と上書きするかどうか確認を求めてきます。問題なければ y とタイプします。
ウィンドウの最下行に「Wrote /NF/home... 」として、どこの保存したのか表示しています。
正しくファイルに保存できたことの確認にはターミナル(例では kterm)ウィンドウで、 ls
コマンド(ファイルの一覧を見る)や cat
コマンド(ファイルの中身を表示する)を使って行ってください。
編集した結果を保存したくない場合は C-k (kill) です。 これによって Emacs では現時点の編集結果を廃棄し、ファイルとの結びつきを忘れます。 C-k するとウィンドウの最下行に以下のように表示して確認してきます。
Enter キーを押すと、もう一度「修正された内容があるが kill して良いか?」と尋ねてきます。
yes とタイプして Enter キーを押せば、現在の作業内容はファイルに反映されず捨てられます。
編集していたファイルとの結びつきは解かれ、memo.txt と書かれていた部分は *scratch* (どのファイルとも結びつけられていない)状態に変わっていることを確認してください。
Emacs にはよくできたチュートリアル(学習ツール)があります。
ファンクションキーの F1 キーを押してから t キーを押すことでこの機能が動きます。
まず F1 キーを押せば以下のような画面になります。(そうならない場合は C-h かもしれませんので試して下さい。)
この状態で t キーを押せば以下のような画面になるでしょう。
ひととおりこのチュートリアルをこなすことで、多くの Emacs の機能や使い方を学べます。一度おためし下さい。
Emacs を終了しようとしたときに、下記のようなメッセージが画面最下行に出て終了できない状態になっていませんか?
これは「終了する以前に編集してまだ保存できていない部分がある」ことを意味しています。
上の例にそって説明すると、memo.txt ファイルを編集(修正)したのですが、まだ保存しないまま Emacs を終了しようとしています。
保存して終了するか、保存せず終了するか、処理を選んでください。
・ y : (またはスペース)修正ぶんをいますぐ上書き保存する。
・ q : (または ESC キー)保存しない。修正した部分は失われる。
・C-g : Emacs の終了作業を中止。
ただし q (保存せず終了)とした場合、一度だけ確認のために「Modified buffers exist; exit anyway? (yes or no)」(修正してる部分があるが、それを保存せず終了して良いの?)と聞いてきます。
問題なければ yes とタイプし、Enter です。
y と q 以外にも選択肢(n, !, . )はありますが、ここでは説明しません。
「ん」を単独でタイプするために N(大文字), n', nn が用意されていますのでいずれかを利用してください。 「taNi」もしくは「tan'i」、「tanni」とタイプすれば「たんい」とローマ字変換されます。 「たんに」と入力するには「tannni」とnを3回入力する必要があります。
小さい「ぁぃぅぇぉ」などは、x を前に付けてタイプします。 「xa」とタイプすれば「ぁ」とローマ字変換されます。「xtu」で「っ」、「xyu」で「ゅ」です。
C-^ (Control キーを押しながら ^ キーを押す。^ は BackSpace キーの二つ左)で記号などが入力できるモードに変わります。画面一番下の行に注目してください。
矢印キー、または番号を指定して入力文字種別、方法を選び、Enter キーを押します。 矢印下キーを押すと、いま画面に見えている以上の入力が可能なことがわかるでしょう。 JIS入力、記号、英数字、ひらがな、カタカナ、ギリシャ文字、ロシア文字、罫線、部首入力、画数入力、第一水準、第二水準、補助漢字 の各入力モードが用意されています。 よく使うのは記号と罫線でしょうか。ここでは記号を選択してみます。
ここで「5. ・」を選び、Enter キーを押すと、「・」が入力されます。 上下左右の矢印キーで、いま画面に見えている以上の記号の一覧が表示されます。
一文字入力すると、記号入力モードから抜けて通常の文字入力状態になります。 続けて記号を入力したい場合はもう一度 C-^ です。 このときは入力方法の選択ではなく、記号入力画面になります。 もし「罫線」など、それとは異なる記号入力をしたい場合は(入力方法の再選択をしたい場合)は、この状態で C-g としてください。
例えば「○」なら z1 のように z と何かのキーという形でいくつか登録されている記号もあります。 普通にローマ字入力するタイミングで「asuhaz7」と入力すると「あすは◎」となります。 以下に一覧を示しておきます。
入力 | 記号 | 入力 | 記号 | 入力 | 記号 | 入力 | 記号 | 入力 | 記号 | 入力 | 記号 | 入力 | 記号 | |||||||
z1 | ○ | z2 | ▽ | z3 | △ | z4 | □ | z5 | ◇ | z6 | ☆ | |||||||||
z! | ● | z@ | ▼ | z$ | ▲ | z$ | ■ | z% | ◆ | z^ | ★ | |||||||||
z< | ≦ | z> | ≧ | z= | ≠ | z+ | ± | z* | × | zV | ÷ | z_ | ∴ | |||||||
z7 | ◎ | zv | ※ | z& | £ | z8 | ¢ | z9 | ♂ | z0 | ♀ | z- | 〜 | |||||||
zh | ← | zj | ↓ | zk | ↑ | zl | → | |||||||||||||
z; | ゛ | z: | ゜ | zr | 々 | zt | 〆 | zp | 〒 | zf | 〃 | zd | ゝ | |||||||
z( | 【 | z) | 】 | z[ | 『 | z] | 』 | |||||||||||||
z{ | 〔 | z} | 〕 | zq | 《 | zw | 》 | |||||||||||||
z/ | ・ | z, | ‥ | z. | … | z' | ‘ | zn | ′ | z" | “ | zm | ″ |
画面下端にある色の違う一行は編集中の状態などを示しています。
左から順に各項目が何を意味するか説明します。
入力モード | [ あ ] | かな漢字変換入力 |
[ -- ] | 直接入力(タイプした英文字などがそのまま入力されます) | |
![]() | ||
文字コード | E | EUC 漢字コードのファイルを編集中(または EUC コードで保存します) |
- | 漢字(2 バイト文字)を含まない(英文など) | |
S | Shift JIS コードのファイルを編集中 | |
J | JIS コードのファイルを編集中 | |
![]() | ||
変更フラグ | ** | 修正を加え、まだ保存していない状態 |
-- | まったく修正されていないか、最後に保存してから修正されていない状態 | |
(最初は「 -- 」状態、修正すると「 ** 」になり、保存すると再び「 -- 」表示になります) | ||
![]() | ||
ファイル名 | memo.txt | 編集元、また保存先となるファイル名 |
*scratch* | ファイル名未指定の状態 |
ここでの説明は用語や表現について厳密ではないことに注意してください。
プログラムも、Web ページも、その中身はテキストです。
言い換えると多くの Unix 上での作業の非常に多くがテキストファイルをエディットすることに相当します。
つまりテキストエディタは Unix システムで最も多用する道具としてのソフトウェアだ、と言えるでしょう。
Emacs は非常に多くの Unix ユーザに好まれているテキストエディタです。
Emacs はまた非常に歴史のあるソフトウェアで、そのルーツは 1974 年に TECO エディタをベースに当時 MIT にいた Richard Stallman が開発に取りかかるところまでさかのぼれます。
元々の柔軟性を良しとする設計思想と、長い歴史によって Emacs には極めて多くの機能が盛り込まれました。
Emacs には多くのオンラインドキュメント、書籍があります。
そうしたものを参考に、少しずつ使い込んでいくと良いでしょう。