我保存了一些文件'XXX.gpg',我用emacs自動加密模式讀取和編輯。如何在emacs中自動關閉自動加密模式緩衝區?
在某些情況下,我忘記關閉緩衝區很長一段時間,這是一種風險。
我想讓緩衝區在一段時間(不活動)後自動保存並關閉。
我保存了一些文件'XXX.gpg',我用emacs自動加密模式讀取和編輯。如何在emacs中自動關閉自動加密模式緩衝區?
在某些情況下,我忘記關閉緩衝區很長一段時間,這是一種風險。
我想讓緩衝區在一段時間(不活動)後自動保存並關閉。
您可以使用run-with-idle-timer
構建一個完全按照您的需要進行的功能。
現在我在〜/的.emacs使用:
(run-with-idle-timer 60 t (lambda()
(let ((victim (get-buffer "XXX.gpg")))
(when victim (message "Killing buffer %s" (buffer-name victim)
(kill-buffer victim))))))
這是我使用:
(defun dwim-kill-gpg-buffers()
(interactive)
(let ((buffers-killed 0))
(dolist (buffer (buffer-list))
(with-current-buffer buffer
(when (string-match ".*\.gpg$" (buffer-name buffer))
(let ((current-time (second (current-time)))
(last-displayed-time (second buffer-display-time)))
(when (> (- current-time last-displayed-time)
60)
(message "Auto killing .gpg buffer '%s'" (buffer-name buffer))
(when (buffer-modified-p buffer)
(save-buffer))
(kill-buffer buffer)
(incf buffers-killed))))))
(unless (zerop buffers-killed)
(message "%s .gpg buffers have been autosaved and killed" buffers-killed))))
(run-with-idle-timer 60 t 'dwim-kill-gpg-buffers)
它儘量不關閉最近已經顯示緩衝區,從而只要有視圖切換活動,緩衝區的查殺就會延遲。
感謝您的提示! – jogeba 2013-03-10 18:43:20
jogeba:如果你不打算將其標記爲答案,我可以建議你至少投票給出對你有幫助的答案嗎? – phils 2013-03-10 20:51:18
OK ...完成。我以前不知道這個功能。 – jogeba 2013-03-11 20:18:15