これは提示された質問に対する回答ではないので、無視したり、反対票を投じたりしてください。
Emacsがすべてのバッファー(通常は非表示の内部バッファーを含む)をディスクに保存することを本当に望んでいるのではないでしょうか。なぜあなたはそれをしたいですか?
ディスク容量についてではありません。それはノイズについてです。重要なファイルがそのようなものと混在する可能性があるディレクトリから、本当にものを掘り出しますか?または、一時的なディレクトリで一時的な真珠を釣りたいですか?
*...*
(スペース文字で始まっていない)などの名前を持つバッファは、通常、出力専用(たとえば*info*
)または一時的な対話(たとえば*scratch*
)のためのものです。そのようなバッファーの場合、私は、物事をそのままにすることをお勧めします。C-x C-w
本当に必要な場合は、そのようなバッファーをいつでもオンデマンドで保存できます。
これは私があなたの本当のユースケースであると私に思わせるものです:「メモを取るためのバッファ[s]など」ここでの答えは、のC-x C-f
代わりに使用することですC-x b
。IOW、はい、ファイルバッファとしてアクセスします。バッファを保存しない場合、自動保存ファイルを除いて、ファイルは作成されません。これは、おそらく必要なだけの自動保存ファイルです。
バッファをファイルバッファとして訪問すると、デフォルトで使用されるメジャーモードを自動的に制御します(を使用auto-mode-alist
)。これは、コードのプログラミングと同じくらい重要です。
特に、*scratch*
一時的なLispインタラクションに使用する場合は、再考することをお勧めします。多くのユーザー(私を含む)は、代わりにC-x C-f foo.el
(またはその他の*.el
ファイル名)を使用すると役立つことに気づきました。1つの理由は、自動保存ファイル(およびバッファーを保存する場合はバックアップファイル)を無料で取得できることです。もう1つの理由は、Lisp対話モードではなくEmacs-Lispモードを取得することです。3番目の理由は、「はい」、「一時的な」作業を保存したいということです。そして、あなたが言うように、ディスクスペースは安いです。
#4が私が#1で言ったことと矛盾するのはどうですか?一時的な落書きのファイルを重要なファイルと混在させたくはありません。また、一時的なディレクトリから一時的な真珠を取り出したくありません。ここでの答えは、この影響を最小限に抑えるために物事を整理するのはあなた次第であるということです。特定のディレクトリでこのようなスクラッチファイルを操作すると、そのようなファイルを区別するのに役立つ命名規則(特に接頭辞)を使用できるので役立ちます。
役立つもう1つのこと:Dired。~
および#
を使用して、バックアップファイルと自動保存ファイルに削除のマークを付けることができます(その後x
、それらを削除します)。また、おそらく一時的なスクラッチファイルに命名規則を使用している場合は、などを使用して、%
それらすべてに削除のマークを付けることができます。関数を定期的に実行して、そのようなファイルを削除することもできます。また、本当に長く使いたいものは簡単に名前を変更できます。
ですから、私のアドバイスは、そのような一時的なメモを取るバッファとどのようにやり取りしているのかを再考することです。自動保存されるファイルバッファの使用を検討してください。つまり、の代わりにC-x C-f foobarbaz.txt RET
(または.el
その他)を使用しC-x b foobarbaz RET
ます。
save-some-buffers
ファイルを訪問しないバッファのオプションがあります-おそらく、それsave-some-buffers
をタイマーと引数として受け入れるカスタム関数と組み合わせることができます-doc-stringを参照してください。これを実行するものはおそらくすでにあるでしょう-例えば、Google"save-some-buffers" auto save
など。そして、いくつかのアイデアのために機能auto-save-mode
を見てくださいsimple.el
。私の記憶はつまり、オートセーブ・バッファ・強化を している可能性があり:このような何かに行わ github.com/kentaro/auto-save-buffers-enhanced/blob/master/...