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

cnd*_*cnd 1 emacs

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

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

  • 键入SPC或"y"以保存当前缓冲区;
  • DEL或`n'跳过当前缓冲区;
  • RET或`q'放弃保存(跳过所有剩余的缓冲区);
  • Cg退出(取消整个命令);
  • !保存所有剩余的缓冲区;
  • Cr来查看这个缓冲区;
  • d查看此缓冲区中的更改;
  • 要么 .(句点)保存当前缓冲区并退出.

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

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

eve*_*_jr 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))))
Run Code Online (Sandbox Code Playgroud)