2014-01-17 20 views
19

終了プロセスを開始してからEmacsが終了しないようにする方法はありますか?終了手続きが開始されたら、Emacsが終了しないようにしますか?

I時には脂肪指C-XC-SとしてC-XC-C。バックアップを取って実行するのはひどいプロセスではありませんが、すべてのファイルを開いたまま中断しないように、終了プロセスを中止できる方法があるかどうか不思議です。

GNU Emacsの使用24.3.1。窓7の下でCygwinで動く。

+0

私はscottfrazerの答えを受け入れたにもかかわらず、私は感謝しています示されている代替方法については、 –

+0

私はこの質問を見つけることができなかったので、私は同じ質問を投稿:[Emacsのを終了する前にC-XのC-Cの後に確認](https://emacs.stackexchange.com/q/13662/5165)。 –

答えて

27

あなたがそうのような機能に設定することができ、変数:@scottfrazerが示唆されているように、confirm-kill-emacsを使用して

(setq confirm-kill-emacs 'y-or-n-p) 
3

scottfrazerの答えは、私には、以下のものよりも適切です。

場合に出るのはEmacsを防ぐために、バッファのいずれかにEmacs Lockマイナーモード(emacs-lock-mode)を有効に誤っC-XC-Cを打ちます。 EmacsのWikiページから

Emacsはバッファまでの出口が殺されたりロック解除されないことができ

このロックは、すべてのEmacsセッションで有効になっているように、あなたの.emacs/​​ファイルに(emacs-lock-mode)を追加。これを追加すると*scratch*バッファがロックされます。の場合は、 Emacsを終了したい場合にロックを解除する必要があります。

この方法のもう1つの方法は、Emacsでプロセスを開始することです。 M-xshellに保存されている未保存のファイルがある場合、Emacsが終了したときに確認を求めるメッセージが表示されます。

はいglobal-unset-keyを用いたものより、未設定C-XC-C。 Emacsを終了したい場合はM-xkill-emacsです。そこビルトインされ

1
  • 、1つのアプローチです。

  • さらに一般的には、kill-emacs-query-functionsを使用して、この点について任意の操作を行うことができます。 (そこ彼らはconfirm-kill-emacsを追加するための本当の必要はなかったが、彼らはやった。)

  • は、場合、あなたの中であなたはおそらく、(それがkill-emacs-query-functionsが何のためにあるのかだ)、この点でkill-emacs-hookを使用したいが、それを認識していませんaproposなどを使用してyesだけではなく、キーyを打つ:ちょうどconfirm-kill-emacs以上kill-emacs-query-functions

一つの利点は、あなたがより良い確認を必要とすることができるということです。例:

(add-hook 'kill-emacs-query-functions 
      (lambda() (y-or-n-p "Do you really want to exit Emacs? ")) 
      'append) 

これは私が行うことです。それは私が(例えば、C-x cC-x C-xC-x C-y)バインド同様のキーを持っている、特に以来、キーを打つことがあまりにも簡単であると誤ってC-x C-c yを打ちます。

1

あなたは短い答えを探しているなら、私は前世紀以来、すべての私の.emacsファイルの下部に次の行を持っていた:

(shell) 
+0

あなたは(シェル)ん追加するかを説明することはできますか?私は、Emacsのwikiを検索し、単に「シェル」を検索すると、これは何をするかを調べるために少し曖昧ですよ。 –

+0

私は私の答えでそれを言いました。 '(シェル)は'実際にEmacsがアクティブであることが要求されますし、あなたが本当に終了したい場合は、プロセスを開始します。 [シェルモード](http://www.emacswiki.org/emacs/ShellMode)。 –

関連する問題