Giả sử tôi đang nhập một loạt văn bản trong bộ đệm không truy cập tệp (nó có thể là bài đăng org2blog mới hoặc chỉ một số bộ đệm đầu). Có thể tự động lưu nó ở đâu đó trong trường hợp xảy ra thảm họa và Emacs chết không?Có thể tự động lưu bộ đệm tạm thời không truy cập tệp không?
Trả lời
auto-save-mode
thực sự hoạt động với bộ đệm không phải tệp. Nó chỉ không được kích hoạt theo mặc định - thường xảy ra trong (after-find-file)
.
Vì vậy: Mxauto-save-mode
RET
Theo mặc định các tập tin tự động lưu lại sẽ được ghi vào default-directory
của bộ đệm (hoặc /var/tmp
hoặc ~/
, tùy thuộc vào quyền ghi, xem Chvbuffer-auto-save-file-name
RET) có thể hơi khó xử khi tìm ra sau khi xảy ra sự cố, vì vậy việc đặt tiêu chuẩn đó thành tiêu chuẩn có lẽ là một ý tưởng hay.
Sau đây sẽ đảm bảo rằng những tập tin tự động lưu lại được ghi vào thư mục home của bạn (hoặc M-xcustomize-variable
RETmy-non-file-buffer-auto-save-dir
RET), nếu auto-save-mode
được gọi một cách tương tác. Điều đó hy vọng sẽ tránh xung đột này với bất kỳ cách sử dụng nào khác của auto-save-mode
với bộ đệm không phải tệp (ví dụ: mã đề cập đến chế độ Thư).
(defcustom my-non-file-buffer-auto-save-dir (expand-file-name "~/")
"Directory in which to store auto-save files for non-file buffers,
when `auto-save-mode' is invoked manually.")
(defadvice auto-save-mode (around use-my-non-file-buffer-auto-save-dir)
"Use a standard location for auto-save files for non-file buffers"
(if (and (not buffer-file-name)
(called-interactively-p 'any))
(let ((default-directory my-non-file-buffer-auto-save-dir))
ad-do-it)
ad-do-it))
(ad-activate 'auto-save-mode)
phils' answer xóa mọi thứ đối với tôi, nhưng tôi đã kết thúc bằng một cách tiếp cận hơi khác nhau. Tôi đăng nó như là một câu trả lời riêng biệt vì lợi ích của tài liệu. Đây là đoạn trích tự động của tôi:
;; Put autosave files (ie #foo#) in one place
(defvar autosave-dir (concat "~/.emacs.d/autosave.1"))
(defvar autosave-dir-nonfile (concat "~/.emacs.d/autosave.nonfile"))
(make-directory autosave-dir t)
(make-directory autosave-dir-nonfile t)
(defun auto-save-file-name-p (filename) (string-match "^#.*#$" (file-name-nondirectory filename)))
(defun make-auto-save-file-name()
(if buffer-file-name (concat autosave-dir "/" "#" (file-name-nondirectory buffer-file-name) "#")
(expand-file-name (concat autosave-dir-nonfile "/" "#%"
(replace-regexp-in-string "[*]\\|/" "" (buffer-name)) "#"))))
Tạo thư mục riêng cho bộ đệm tệp không truy cập là tùy chọn trong ngữ cảnh này; họ cũng có thể đi ở vị trí trung tâm (trong trường hợp này là autosave-dir
). Cũng lưu ý rằng tôi phải làm một số tên tập tin cơ bản dọn dẹp trong trường hợp tên đệm tạm thời là một cái gì đó như "* foo/bar *" (với các ngôi sao và/hoặc slashes).
Cuối cùng, người ta có thể tự động bật tự động lưu trong bộ đệm tạm thời một số chế độ sử dụng một cái gì đó giống như
(add-hook 'org2blog/wp-mode-hook '(lambda() (auto-save-mode t)))
- 1. Lưu tệp tạm thời
- 2. Tạm thời tắt tự động cập nhật theo chương trình
- 3. Tự động tải các tệp javascript trong UIWebView với bộ đệm cục bộ không hoạt động
- 4. ASP.NET - Lưu trữ các tệp tạm thời
- 5. Emacs tự động lưu trên bộ đệm chuyển đổi
- 6. Tệp tạm thời Java và xóa tự động
- 7. HSQLDB Bảng tạm thời được lưu trong bộ nhớ tạm
- 8. Không thể truy cập các bảng tạm thời từ bên trong một hàm
- 9. Truy cập bộ đệm luồng HttpWebRequest
- 10. javascript có thể truy cập hệ thống tệp không?
- 11. Không thể thả bảng tạm thời SQL
- 12. Không thể truy cập tự :: khi không có phạm vi lớp đang hoạt động
- 13. Lỗi PHP: ob_flush() [ref.outcontrol]: không thể xóa bộ đệm. Không có bộ đệm để tuôn ra
- 14. Vim không thể lưu tệp (E212)
- 15. Tải xuống tệp OpenXML mà không cần tệp tạm thời
- 16. Lỗi tràn bộ đệm không hoạt động
- 17. Có lớp đệm bộ đệm Python chuẩn thứ 3 không?
- 18. nguồn Mysql tạm thời không có
- 19. Có thể truy cập các trường sao lưu sau các thuộc tính được tự động triển khai không?
- 20. NSURLCache không lưu vào bộ nhớ đệm
- 21. Có thể sử dụng Boost.Format với bộ đệm preallocated không?
- 22. Tệp tạm thời trong .Net
- 23. Các tham chiếu tạm thời có được tự động xóa trong Python không?
- 24. Tôi có thể xóa bộ đệm sớm bằng ASP.NET không?
- 25. Django pipeline Cache Busting không cập nhật tệp đệm/băm
- 26. Tạo tập tin tạm thời và tự động xóa
- 27. Có thể Sweave tự động tạo nhiều tệp PDF không?
- 28. Macro C có thể chứa các biến tạm thời không?
- 29. Truy cập tệp PHP và đồng thời
- 30. Quyền truy cập thường xuyên bị từ chối vào các tệp ASP.NET tạm thời
vĩ đại thông tin. Chế độ tiết kiệm tự động có một chút bí ẩn, vì nó không phô trương (đó là một điều tốt). Thay vì defadvice, tôi đã sử dụng make-auto-save-file-name để kiểm soát nơi lưu các bộ đệm. –