In diesem Beispiel tun, die zuerst Argument ist auf non-nil
Wert gesetzt - "[o] ptional Argument (das Präfix) non-nil
bedeutet, alle mit keine Fragen zu speichern." Obwohl es einfach nur alt t
sein könnte, wählte ich ein aussagekräftigeres Symbol zu machen erinnere mich daran, wofür es steht - zB 'no-confirm
. Wenn ich einen Bestätigungsdialog erhalten möchte, würde ich stattdessen nil
für das erste Argument verwenden.Weitere Informationen dazu, wie sich diese Funktion verhält, finden Sie unter doc-string - M-x describe-function RET save-some-buffers RET
- in Abhängigkeit davon, ob das erste-Argument nil
oder non-nil
ist.
Das folgende Beispiel verwendet save-some-buffers
mit einer benutzerdefinierten Null Argumente Funktion für das Sekunden Argument - das heißt, PRED - zu wählen, welche Puffer gespeichert werden sollen. Die doc-String für save-some-buffers
besagt, dass die Sekunden Argument - dh PRED - drei eine der Möglichkeiten sein kann - (1) Wenn PREDnil
ist, werden alle Datei-Besuch Puffer betrachtet werden ; (2) Wenn PRED ist t
, dann bestimmte Nicht-Datei-Puffer werden ebenfalls berücksichtigt werden; oder (3) Wenn PRED ist eine Null-Argument-Funktion, zeigt es für jeden Puffer an, ob es zu berücksichtigen oder nicht, wenn mit diesem Puffer Strom aufgerufen wird. Das Beispiel verwendet eine Tastenkombination von f5
, aber der Benutzer kann diese benutzerdefinierte Funktion interaktiv aufrufen - M-x my-save-some-buffers
- oder eine andere Tastenkombination vollständig zuweisen. Es gibt ein paar mögliche Treffer, die hartcodiert wurden, und der Benutzer frei, hinzufügen/entfernen/ändern die Bedingungen:
• Datei-Besuch-Puffer + der Dateiname entspricht dem Wert der Variablen abbrev-file-name
.
• Datei-Besuch-Puffer + der Haupt-Modus ist latex-mode
aus dem eingebauten in tex-mode.el
-nicht AUCTeX.
• Datei-Besuchspuffer + Der Hauptmodus ist markdown-mode
.
• Datei-Besuchspuffer + Der Hauptmodus ist emacs-lisp-mode
.
• Datei-Besuchspuffer + Der abgeleitete Modus ist 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)
Alles, was Sie brauchen, ist 'C-u C-x s' – ocodo
oder' C-x s! '(Die einfach aus der Betrachtung der' C-H-Hilfe für die prompten Optionen zur Verfügung gestellt klar ist). – phils
@phils sehr wahr, wirklich keine Ahnung, warum die angenommene Antwort so kompliziert sein musste. 'C-x s' und dann'! 'Ist nicht" still "und erfordert eine Reaktion auf eine Aufforderung, (tut mir leid pedantisch.) -' C-u' ist nützlich zu wissen, weil es viele Dinge zusätzliche Funktionalität bieten kann. Versuchen Sie zum Beispiel 'C-u' und' M-x align-regexp'. – ocodo