如果您刪除dired-x
中的文件foo
,系統會提示您提問Kill buffer of foo, too?
。我怎樣才能跳過這個問題,並總是用yes
回答?dired-x:如何設置「...的殺死緩衝區?」是的沒有確認?
5
A
回答
5
只需在dired-x.el中重新定義刪除後的dired-clean-up-delete即可。
;; redefine the definition in dired-x.el, so that we are not prompted
;; to remove buffers that were associated with deleted
;; files/directories
(eval-after-load "dired-x" '(defun dired-clean-up-after-deletion (fn)
"My. Clean up after a deleted file or directory FN.
Remove expanded subdir of deleted dir, if any."
(save-excursion (and (cdr dired-subdir-alist)
(dired-goto-subdir fn)
(dired-kill-subdir)))
;; Offer to kill buffer of deleted file FN.
(if dired-clean-up-buffers-too
(progn
(let ((buf (get-file-buffer fn)))
(and buf
(save-excursion ; you never know where kill-buffer leaves you
(kill-buffer buf))))
(let ((buf-list (dired-buffers-for-dir (expand-file-name fn)))
(buf nil))
(and buf-list
(while buf-list
(save-excursion (kill-buffer (car buf-list)))
(setq buf-list (cdr buf-list)))))))
;; Anything else?
))
8
,使任何文件緩衝區刪除前關閉您可以告知dired-delete-entry
功能:
(defadvice dired-delete-entry (before force-clean-up-buffers (file) activate)
(kill-buffer (get-file-buffer file)))
的elisp的手冊描述爲「比重新定義全功能清潔工」提供諮詢,這是不太可能打破,如果功能的定義在未來發生變化。
+0
完美,謝謝邁克爾。 – 2012-07-18 17:54:09
+0
我剛剛意識到,不幸的是,這不符合預期。當我被要求殺死緩衝區時,我選擇yes,我仍然在dired(-x)緩衝區中顯示剩餘的文件。但是,使用您的代碼時,會發生以下情況:當我刪除文件時(未被詢問),它會將我引入不同的緩衝區,而不是在不更改緩衝區的情況下刪除文件。 – 2012-07-19 18:32:21
相關問題
- 1. Emacs - 殺死建議緩衝區超時
- 2. 用C-d殺死*終端*緩衝區
- 3. DeviceIoControl沒有設置輸出緩衝區
- 4. 有界緩衝區死鎖
- 5. 當emacs啓動時,如何殺死* GNU Emacs *緩衝區?
- 6. 如何刪除提示以殺死emacsclient緩衝區?
- 7. 緩衝區沒有正確的行爲
- 8. xemacs殺死匹配緩衝區或排序/過濾器*緩衝區列表*
- 9. Emacs重新打開先前被殺死的緩衝區?
- 10. C-x k不會殺死mac中的緩衝區emacs
- 11. 如何殺死Linux中沒有被殺死的進程
- 12. 程序崩潰這是有效的緩衝區[]的緩衝區..我認爲
- 13. 如何設置實時WebSocket緩衝區?
- 14. 如何殺死沒有鏈接的龜?
- 15. 輸出緩衝區爲空,直到tcpdump被殺死
- 16. 沒有填充接收緩衝區的UDP緩衝區溢出?
- 17. 如何「重置」緩衝區?
- 18. 如何在Emacs中殺死臨時緩衝區之前發出警告?
- 19. 如何測試是否只有默認緩衝區打開?
- 20. 如何爲特定緩衝區設置緩衝區本地面屬性?
- 21. Emacs:如何訪問所有的sql模式緩衝區並設置合適的sql緩衝區
- 22. 殺死緩衝區的名字開始與一個特定的字符串
- 23. 如何在flex中設置緩衝區設置?
- 24. 在emacs中我怎麼能殺死多個緩衝區而不打開每個緩衝區
- 25. dequeueBuffer:不能在沒有設置緩衝區計數的情況下將多個緩衝區出列
- 26. 如何獲取/設置默認幀緩衝區的寬度和高度?
- 27. 播放沒有緩衝區的音頻
- 28. Linux緩衝區是如何實現的?
- 29. 如何確認opus編碼緩衝區大小?
- 30. 關閉php緩衝區設置後,爲什麼沒有設置cookie?
非常好,完美的作品! – 2012-07-19 19:43:05