[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

2. Emacsの起動と終了

Emacsを起動する普通の方法は、シェルコマンドの`emacs'です。 Emacsは、画面をクリアし、初期ヘルプメッセージとコピーライトを表示します。 オペレーティングシステムによっては、Emacsが起動するまでに 先打ちした入力をすべて破棄してしまうことがあります。 Emacs側ではこれを防ぐことはできません。 したがって、編集コマンドを打ち始めるまえに、 Emacsが画面をクリアするまで待つように推奨します。

Xウィンドウシステム上のシェルウィンドウからEmacsを起動するのであれば、 `emacs&'のようにバックグラウンドで実行するようにしましょう。 こうすれば、Emacsがシェルウィンドウを拘束することがないので、 Emacsが専用のXのウィンドウで動作中でも、 別のシェルコマンドを実行できます。 キーボード入力をEmacsのフレームに向ければ、 ただちにEmacsコマンドを打ち始められます。

Emacsが動き始めると、`*scratch*'という名前のバッファを作ります。 ユーザーはこのバッファから始めます。 バッファ`*scratch*'は、Lisp対話(lisp-interaction)モードですから、 Lisp式を打ち込んでそれを評価できますし、あるいは、 この機能を無視して単なる落書用として使ってもかまいません。 (個人の初期化ファイル中で変数initial-major-modeを設定すれば、 このバッファに別のメジャーモードを指定できる。 see section 初期化ファイル`~/.emacs'。)

シェルのコマンド行でEmacsに引数を与えて、 訪問するファイル、ロードするLispファイル、呼び出す関数を指定できます。 See section コマンド行引数。 ただし、これはお勧めしません。 この機能は、主に、他のエディタとの互換性のためにあるのです。

他のエディタの多くは、編集を行うたびに新たに起動するように設計されています。 1つのファイルを編集し終えると、エディタを終了します。 つぎに別のファイルや同じファイルを編集したければ、 再度、エディタを起動する必要があります。 これらのエディタでは、 コマンド行の引数で編集するファイルを指定する意味があります。

しかし、別のファイルを編集するたびに新たにEmacsを起動するのはナンセンスです。 1つには、起動はじれったいほど遅いでしょう。 また、このようにすると、1つの編集セッションで複数のファイルを 扱えるEmacsの利点を活かせません。 さらに、レジスタやアンドゥ履歴、マークリングといった、 それまでに蓄積した内容も失ってしまいます。

GNU Emacsの推奨される使い方は、ログイン後に1度だけEmacsを起動して、 すべての編集を同じEmacsセッションで行うことです。 別のファイルを編集するには、既存のEmacsでそのファイルを訪問します。 そうすると、ついには、多くのファイルをすぐに編集できる状態で 保持することになります。 通常、ログアウトするまで、Emacsを終了する必要はありません。 複数のファイルを訪問することに関して詳しくは、See section ファイルの扱い方


2.1 Emacsの終了

Emacsの抜け方には、休止(suspending)する、 終了(killing)するの2種類があるので、 Emacsを抜けるコマンドも2つあります。

休止(suspending)は、一時的にEmacsを止めて、 親プロセス(通常はシェル)に制御を戻します。 こうすると、同じバッファ、同じキルリング、同じアンドゥ履歴を保持したままの 同じEmacsジョブをあとで再開できます。 これが通常の抜け方 (6)です。

終了(killing)は、Emacsジョブの破壊を意味します。 あとでまたEmacsを起動できますが、新たなEmacs環境です。 終了したあとでは、同じ編集セッションを再開する方法はありません。

C-z

Emacsを休止する、あるいは、フレームをアイコン化する (iconify-or-deiconify-frame)。

C-x C-c

Emacsを終了する(save-buffers-kill-emacs)。

Emacsを休止するには、C-zsuspend-emacs)と打ちます。 すると、Emacsを起動したシェルに戻ります。 ほとんどの一般的なシェルでは、 シェルコマンド`%emacs'でEmacsを再開できます。

プログラムを休止できないシステムでは、 C-zは、端末と直接やりとりする下位シェルを起動します。 Emacsは、ユーザーがこのサブシェルから抜け出るまで待ちます。 (普通、C-dや`exit'でサブシェルを終了するはずだが、 使っているシェルに依存する。) このようなシステムでは、 Emacsを起動したシェルに(たとえばログアウトのために)戻るには、 Emacsを終了する以外に方法はありません。

プログラムを休止できるシステムであっても、 プログラムを休止できないシェル上で実行しているEmacsは休止できません。 このような場合、変数cannot-suspendnil以外の値を設定して、 C-zに下位シェルの実行を強制できます。 (適切なジョブ制御をできないEmacsの親シェルを 『下位』と呼ぶこともできるが、これは好みの問題。)

EmacsがXサーバーと直接通信して専用のXのウィンドウを作っている場合には、 C-zは別の意味になります。 専用のXのウィンドウを持つアプリケーションを休止しても、 あまり意味がありませんし、便利なわけでもありません。 そのかわり、C-zは、選択されているEmacsフレーム(see section フレームとXウィンドウシステム)を 一時的に閉じるコマンドiconify-or-deiconify-frameを実行します。 シェルウィンドウに戻るには、ウィンドウマネージャの機能を使います。

Emacsを終了するには、C-x C-csave-buffers-kill-emacs)と打ちます。 これを2文字のキーにしてあるのは、少々打ちづらく(7)するためです。 このコマンドは、まず、変更したバッファを保存するかどうか聞いてきます。 未保存のものがあるとそれらを永久に失うことになるので、 Emacsを終了するまえにyesでの再確認を求めてきます。 Emacsを終了するとサブプロセスもただちに終了されられてしまうため、 サブプロセスが走っている場合にも、それらに関して確認を求めてきます。

一度Emacsを終了してしまうと、Emacsセッションを再開する方法はありません。 しかしながら、終了時に訪問していたファイルなどの 特定のセッション情報を記録するようにEmacsに指示しておけば、 つぎにEmacsを起動し直したときに、 同じファイルを訪問するなどを試みるようになります。 See section Emacsセッションの保存

オペレーティングシステムは、通常、実行中のプログラムを終了させたり 休止させたりする特定の特殊文字を監視しています。 Emacsを使っているときには、 オペレーティングシステムのこの機能はオフになっています (8) EmacsのキーとしてのC-zC-x C-cの意味は、 いくつかのオペレーティングシステムでプログラムを 休止させたり終了させたりするために用いる文字、 C-zC-cにヒントを得たものですが、 オペレーティングシステムとの関係はそれだけです。 これらのキーで好きなコマンドを実行するようにカスタマイズできます (see section キーマップ)。


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Akihiro Sagawa on June, 15 2005 using texi2html 1.70.