当缓冲区等于文件但被标记为已修改时,是否有办法重置缓冲区修改标志?在这种情况下,我希望emacs不要求我保存。EMACS缓冲区等于文件时如何重置缓冲区修改标志
1
A
回答
1
鉴于您已经安装了diff
,这将做到这一点:
(defun my-update-modified-flag()
"Update the buffer modified flag."
(interactive)
(let* ((buffer (current-buffer))
(basefile
(or (buffer-file-name buffer)
(error "Buffer %s has no associated file" buffer)))
(tempfile (make-temp-file "buffer-content-")))
(with-current-buffer buffer
(save-restriction
(widen)
(write-region (point-min) (point-max) tempfile nil 'silent)))
(if (= (call-process "diff" nil nil nil basefile tempfile) 0)
(progn
(set-buffer-modified-p nil)
(message "Buffer matches file"))
(message "Buffer doesn't match file"))
(delete-file tempfile)))
1
您可以使用此表达式:
(set-buffer-modified-p nil)
当心!即使缓冲区为真的被修改,它也会清除该标志。
+2
有一个命令'未modified'这势必'M-〜'。请参阅http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#index-M_002d_007e-995 – tripleee 2012-07-12 16:57:40
相关问题
- 1. Emacs缓冲区组/标签
- 2. Markdownize Emacs缓冲区
- 3. Emacs erlang缓冲区
- 4. 如何“重置”缓冲区?
- 5. 如何恢复emacs缓冲区列表中的缓冲区?
- 6. Emacs意外地将缓冲区切换到临时缓冲区
- 7. 缓冲区和修改OutputStream
- 8. Emacs缓冲区菜单:如何仅显示文件+ dired缓冲区?
- 9. 如何修改缓冲区时运行Emacs钩子?
- 10. Emacs在Mono中的等效缓冲区
- 11. Ocaml缓冲区修改特定位置
- 12. 如何修改输出缓冲区?
- 13. emacs:非连续缓冲区
- 14. Emacs缓冲区管理
- 15. emacs ediff刷新缓冲区
- 16. 在Emacs小缓冲区
- 17. Cocoa Emacs打印缓冲区
- 18. 关闭缓冲区后显示Emacs缓冲区
- 19. 重置命令缓冲区
- 20. 文档长度不等于缓冲区
- 21. 当dest缓冲区小于src缓冲区时strcpy
- 22. 缓冲区溢出缓冲区长度
- 23. 帧缓冲区/颜色缓冲区?
- 24. Emacs Lisp缓冲区位置列?
- 25. 如何创建Emacs SQL缓冲区?
- 26. 的NodeJS日志缓冲区
- 27. Emacs + R:缓冲区名称*/usr/local/bin/R *对于R缓冲区太长
- 28. 让emacs grep缓冲区使用特定的emacs缓冲区来显示命中
- 29. Emacs - 杀死建议缓冲区超时
- 30. 将文件加载/流式传输到缓冲区/缓冲区
非常感谢!这正是我需要的 – 2012-07-12 14:15:13
好。接受答案呢? – scottfrazer 2012-07-12 15:19:17
@scottfrazer如何将一个非交互式版本挂接到'kill-buffer-query-functions'? – 2012-07-12 16:08:44