この例では、最初の引数がnon-nil値に設定されています-「[o] ptional引数(接頭辞)non-niltは、質問なしですべてを保存することを意味します。」それが何を表しているのかを思い出してください-つまり、'no-confirm。確認ダイアログを受け取りたい場合は、代わりに最初の引数に使用nilします。最初の引数がまたはであるかどうかに応じてこの関数がどのように動作するかに関する追加情報については、doc-string---を参照してください。M-x describe-function RET save-some-buffers RETnilnon-nil
以下の例では、2番目の引数(つまり、PREDsave-some-buffers )にカスタムのゼロ引数関数を使用して、保存するバッファーを選択します。のdoc-stringは、2番目の引数(つまり、PRED )が3つの可能性のいずれかである可能性があることを示しています。 (1)PREDがの場合、すべてのファイル訪問バッファーが考慮されます。(2)PREDがの場合、特定の非ファイルバッファも考慮されます。または(3) PREDがゼロ引数関数の場合、save-some-buffersnilt各バッファについて、そのバッファ電流で呼び出されたときにそれを考慮するかどうかを示します。
この例では、のキーボードショートカットを使用してf5いますが、ユーザーはこのカスタム関数をインタラクティブに呼び出すことができますM-x my-save-some-buffers---または別のキーボードショートカットを完全に割り当てることができます。ハードコーディングされている可能性のある一致がいくつかあり、ユーザーは条件を自由に追加/削除/変更できます。
•file-visiting-buffer +ファイル名は変数の値と一致しますabbrev-file-name。
•file-visiting-buffer + major - modeはlatex-mode、組み込みのAUCTeXではありません。tex-mode.el
•file-visiting-buffer + major-modeは。ですmarkdown-mode。
•file-visiting-buffer + major-modeは。ですemacs-lisp-mode。
•file-visiting-buffer +派生モードはorg-mode。
(defun my-save-some-buffers ()
(interactive)
(save-some-buffers 'no-confirm (lambda ()
(cond
((and buffer-file-name (equal buffer-file-name abbrev-file-name)))
((and buffer-file-name (eq major-mode 'latex-mode)))
((and buffer-file-name (eq major-mode 'markdown-mode)))
((and buffer-file-name (eq major-mode 'emacs-lisp-mode)))
((and buffer-file-name (derived-mode-p 'org-mode)))))))
(global-set-key [f5] 'my-save-some-buffers)