我已经使用 mac os x 好几年了,我意识到我现在已经习惯了所有应用程序在我重命名或移动文件时透明地“跟踪”文件(通过mv
控制台或在 Finder 的 GUI 中),而 emacs 几乎是唯一不这样做的程序。
但这很遗憾,因为我大部分在屏幕前的时间实际上都花在了 emacs 上 :-)
有人对我可以采取什么措施来实现 emacs 中的这种行为有什么想法或指点吗?
(是的,我知道这在一般情况下是“不可能”实现的,但当我重命名一个简单的文件,或者将它移动到附近的目录时,很遗憾我必须关闭/重新打开它才能让 emacs 注意到。哦,不,我不会用‘已删除’作为文件管理器:-)
答案1
这可能是一种稍微不同的服务方式,但我的可怜的 elisp 可以帮助我了解编辑旧文件。
(defun my-prompt-saving-new-file ()
"notify creating new file to avoid saving file moved externally."
(interactive)
(unless (file-exists-p (buffer-file-name))
(unless (y-or-n-p "Creating new file?")
(keyboard-quit))))
(add-hook 'before-save-hook 'my-prompt-saving-new-file)