ファイルにアクセスしていないバッファにテキストを入力するとします(新しいorg2blogの投稿、または一部のスクラッチバッファ)。災害時にEmacsが死亡した場合に備えて、どこかで自動保存することは可能ですか?ファイルを訪問していない一時バッファを自動保存することはできますか?
答えて
auto-save-mode
は、実際には非ファイルバッファで動作します。デフォルトで有効になることはありません。通常は(after-find-file)
で発生します。
ので:デフォルトではのMxauto-save-mode
RET
ファイルを自動保存は、書き込み権限に応じて、バッファのdefault-directory
(または/var/tmp
または~/
に書き込まれます。Chのを参照してください。vbuffer-auto-save-file-name
RET)これはクラッシュ後に把握するのが少し難しいかもしれないので、それを何か標準に設定することはおそらく良い考えです。
これらの自動保存ファイルがホームディレクトリに書き込まれることを保証するであろう、次の(またはM-Xcustomize-variable
RETmy-non-file-buffer-auto-save-dir
RET)、auto-save-mode
が対話的に呼び出された場合。これはうまくいけば、ファイルバッファではなくauto-save-mode
の他の用途とのこの矛盾を避けるでしょう(例えば、コードはMailモードを言います)。
(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は私のために物事をクリアしたが、私は多少異なるアプローチを使用して終了しました。私は文書化のための別個の答えとしてそれを掲示しています。ここに私のオートセーブ・スタンザがあります:
;; 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)) "#"))))
ここでは、非訪問ファイルバッファ用に別のディレクトリを作成することはオプションです。中央の場所(この場合はautosave-dir
)に入ることもできます。また、一時的なバッファ名が "* foo/bar *"(星やスラッシュ)のようなものである場合には、基本的なファイル名のクリーンアップを行う必要があることにも注意してください。
最後に、一つは自動的に
(add-hook 'org2blog/wp-mode-hook '(lambda() (auto-save-mode t)))
- 1. バッファを自動保存する:vimで作成しますか?
- 2. Pythonでファイルを一時的に保存していますか?
- 3. Scrapyは一時ファイルとしてHTMLを保存します
- 4. Laravelデータベースに一時ファイル名を保存しています
- 5. Emacs - 5秒ごとにバッファを自動保存する
- 6. HTML5オフラインアプリケーション、訪問しないとどれくらいの期間保存できますか?
- 7. ファイルを保存するときにブラウザを自動リロードしますか?
- 8. ウェブページから一定時間にデータを自動的にファイルに保存する
- 9. Emacs bibtex-modeは訪問していないファイルを解析できません
- 10. サイトは15分ごとに自分自身を訪問しています
- 11. ファイルの保存時やキー入力時にビルドを中断してキャンセルすることはできますか?
- 12. 画像ファイルをバッファ(gif、jpegなど)に保存しています。
- 13. 既存の* .xlsxファイルを開いて変更し、新しいファイルとして保存することができます(元のファイルはそのままです)。
- 14. 一時ディスクにコミットログを保存していますか?
- 15. userdefaultsに一時データを保存していますか?
- 16. jquery cookieで訪問したページを保存するには
- 17. 訪問履歴を保存しているブラウザを停止する
- 18. ブラウザを介してHerokuの一時ファイルシステムに保存されているファイルにアクセスできますか?
- 19. 速度とセキュリティの違いがあります一時ファイルをファイルに保存していますか一時テーブルですか?
- 20. URLを訪問する自動スクリプト
- 21. 大きなファイルをhadoop HDFSに保存していますか?
- 22. Eclipse:保存時に自動フォーマットXMLファイル
- 23. ドッカーは、抽出中に一時ファイルをどこに保存しますか?
- 24. CoreData自動保存して自動保存後にすべてのデータをロードしない
- 25. ウェブアプリケーション用の一時ファイルを保存するには良い場所ですか?
- 26. Windowsに一時ファイルを保存する場所はどこですか
- 27. ImageMagickは一時ファイルを残しています - これは仕様ですか、それとも自動的に削除されるべきですか?
- 28. 単語文書を保存するときの自動ファイル名
- 29. Emacsにすべてのファイルを保存する(またはすべてのバッファを保存する)にはどうすればいいですか?
- 30. VSコードはノード保存のようにファイル保存時に自動的にデバッガを再起動します
グレート情報のようなものを使用して特定のモード一時バッファに自動保存をオンにすることができます。自動保存モードはとても邪魔にならないので、少し不思議です(これは良いことです)。 defadviceの代わりに、make-auto-save-file-nameを使用して、バッファの保存場所を制御しました。 –