如何不保存文件中的更改(也在临时缓冲区中保存!)?

时间:2012-04-06 08:59:40

标签: emacs

一定是个愚蠢的问题但是有一段时间使用Emacs我不知道怎么能不应用我的更改...

当我退出C x C c时,它告诉我:

  • 键入SPC或“y”以保存当前缓冲区;
  • DEL或`n'跳过当前缓冲区;
  • RET或`q'放弃保存(跳过所有剩余的缓冲区);
  • C-g退出(取消整个命令);
  • !保存所有剩余的缓冲区;
  • C-r查看此缓冲区;
  • d查看此缓冲区中的更改;
  • 或。 (句点)保存当前缓冲区并退出。

所以这里有一些机会不保存更改:n或q,但总是存在当前阶段的保存缓冲区:(

我的意思是例如当我通过添加随机文本打破一些文件而我不想保存更改时我想开始编辑下次未保存(未损坏)文件但是Emacs总是打开保存的缓冲区:(怎么解决?

1 个答案:

答案 0 :(得分:5)

你对这个问题的措辞非常混乱。我想你想补充一下 恢复提供的选项列表?此代码添加以进行还原 和将缓冲区标记为未修改:

(when (boundp 'save-some-buffers-action-alist)
  (setq save-some-buffers-action-alist
        (cons
         (list
          ?%
          #'(lambda (buf)
              (with-current-buffer buf
                (set-buffer-modified-p nil))
              nil)
          "mark buffer unmodified.")
         (cons
          (list
           ?, 
           #'(lambda (buf)
               (with-current-buffer buf
                 (revert-buffer t))
               nil)
           "revert buffer.")
          save-some-buffers-action-alist))))