Emacsを殺す (save-buffers-kill-terminal)。
テキスト端末ではEmacsをサスペンドし、グラフィカルディスプレイでは選択中のフレームをアイコン化(または「最小化」)します (suspend-frame)。
Emacsを終了するとは、Emacsプログラムを終了させることを意味します。これを行うには、C-x C-c (save-buffers-kill-terminal)
と入力します。誤って入力するのを防ぐため、2文字のキーシーケンスが採用されています。C-x C-c
と入力した際に変更済みのファイル閲覧バッファがある場合、Emacsはまずこれらのバッファを保存するかどうかを確認します。すべてを保存しなかった場合、保存されていない変更内容は失われるため、再度確認が求められます。また、Emacsを終了させるとサブプロセスも終了するため、サブプロセスがまだ動作している場合にも確認が求められます(Emacsからのシェルコマンドの実行を参照)。
C-x C-c は、Emacs をサーバーとして使用している場合に特殊な動作をします。クライアントフレームからこれを入力すると、クライアント接続が閉じられます。Emacs をサーバーとして使用するを参照してください。
Emacsでは、終了時にオプションで、その時点で閲覧していたファイルなどの特定のセッション情報を記録できます。この情報は、次にEmacsを起動する際に利用可能になります。Emacsセッションの保存を参照してください。
変数 confirm-kill-emacs の値が nil 以外である場合、C-x C-c
はその値が述語関数であるとみなし、その関数を呼び出します。関数呼び出しの結果が nil
以外であればセッションは終了し、そうでなければ Emacs は動作を続けます。confirm-kill-emacs の値として利用するのに便利な関数の一つに yes-or-no-p があります。confirm-kill-emacs のデフォルト値は nil です。
変数 confirm-kill-processes の値が nil の場合、C-x C-c は Emacs
が起動したサブプロセスを終了させる前に確認を求めません。デフォルトの値は t です。
Emacs終了時の動作をさらにカスタマイズするには、The GNU Emacs Lisp Reference ManualのKilling Emacsを参照してください。
保存の確認なしにEmacsを終了するには、M-x kill-emacsと入力してください。
C-z はコマンド suspend-frame
を実行します。グラフィカルディスプレイでは、このコマンドは選択中の Emacs フレームを最小化(またはアイコン化)し、後で再び表示できる形で非表示にします(具体的な非表示の仕組みはウィンドウシステムによって異なります)。テキストターミナルでは、C-z コマンドは Emacs をサスペンドし、プログラムを一時的に停止して制御を親プロセス(通常はシェル)に戻します。ほとんどのシェルでは、シェルコマンド
%emacs で Emacs をサスペンドした後、再開させることができます。
テキスト端末は通常、実行中のプログラムを終了または中断させる意味を持つ特定の特殊文字を待ち受けています。Emacs を使用している間は、この端末機能は無効になります。 Emacs におけるキーとしての C-z および C-x C-c の意味は、いくつかのオペレーティングシステムでプログラムの停止や終了に用いられる C-z および C-c から着想を得たものですが、オペレーティングシステムとの関連はそれだけです。これらのキーをカスタマイズして、任意のコマンドを実行させることができます(キーマップ を参照してください)。