如何消除 Emacs 中的提示和对话框并启用自动保存?

如何消除 Emacs 中的提示和对话框并启用自动保存?

我从不想回答要求我保存更改的提示。

每当我关闭 Emacs 时,我都会被对话框和提示轰炸。我该如何避免它们并让 Emacs 自动保存所有未保存的更改?

另外,当我关闭单个缓冲区时,如何避免出现提示C-k并让 Emacs 自动保存更改?

答案1

为了避免退出 Emacs 时提示保存文件,您可以向 传递前缀参数C-x C-c,即使用 退出C-u C-x C-c

或者,将以下代码添加到您的.emacs文件中:

(global-set-key (kbd "C-x C-c")
                #'(lambda ()
                    (interactive)
                    (save-buffers-kill-terminal t)))

使用通常的键绑定无需提示即可退出C-x C-c

不要忘记,在这些提示下,你可以按!保存全部文件。

答案2

我想这就是你所要求的:

(defun kill-buffer-no-query (&optional buffer)
  "Kill BUFFER without querying."
  (interactive)
  (unless buffer (setq buffer  (current-buffer)))
  (let ((kill-buffer-query-functions ())
        (buffer-save-without-query   t)
        (buffer-modified-p           (buffer-modified-p)))
    (unwind-protect
        (progn (set-buffer-modified-p nil)
               (kill-buffer buffer))
      (when (get-buffer buffer)
        (set-buffer-modified-p buffer-modified-p)))))

相关内容