Wie kann ich Boilerplate-Text für die Verwendung mit Emacs Gnus-E-Mail-Antworten erstellen?
Wie kann ich Boilerplate-Text für die Verwendung mit Emacs Gnus-E-Mail-Antworten erstellen?
Antworten:
AbbrevMode funktioniert in Gnus.
Über diesen Link (mit einigen Änderungen):
Abkürzungen definieren
Geben Sie das Wort ein, das Sie als Erweiterung verwenden möchten, und geben Sie dann 'Cx a g' und die Abkürzung dafür ein. Beispiel:
Dies ist der Text eines ersten Absatzes. Esc h Ctrl- u0 Ctrl- x a goffenReturn
Ich: Das ist eine Null nach dem C-u
. Zusammen bewirken sie, dass die Abkürzungsdefinition C-x a g
für den ausgewählten Bereich gilt, der in diesem Fall ein Absatz ist, den das M-h
( Esc-h
oder die Alt-h
) ausgewählten. Die Abkürzung kann so definiert werden, dass sie nur für den aktuellen Hauptmodus gilt, anstatt global C-x a l
(das ist eine "Ell" anstelle des "g").
Speichern von Abkürzungen
Verwenden Sie 'Mx write-abbrev-file' und drücken Sie einfach RET, wenn Sie nach einem Dateinamen gefragt werden. Der Standardwert ist "~ / .abbrev_defs". In Zukunft sollte Emacs die Abkürzungen automatisch speichern, wenn Sie Emacs beenden.
Wenn Sie außerdem möchten, dass Abkürzungen beim Speichern von Dateien (Cx s) oder beim Beenden von Emacs gespeichert werden, fügen Sie Ihren .emacs Folgendes hinzu:
(setq save-Abkürzungen t)
Abkürzungen wiederherstellen
Verwenden Sie 'Mx read-abbrev-file', um die Abkürzungen zu lesen, oder fügen Sie noch besser Folgendes zu Ihrer ~ / .emacs-Datei hinzu:
(Leise-Lese-Abkürzung-Datei)
Dadurch werden die Definitionen aus der Standarddatei "~ / .abbrev_defs" gelesen.
Abkürzungen verwenden
'Mx abbrev-mode' schaltet den Abkürzungsmodus um. Sie können auch Folgendes in Ihre ~ / .emacs-Datei einfügen, wenn Sie dies immer möchten:
(Abkürzungsmodus 1) Eigentlich müssen Sie möglicherweise Folgendes tun:
(setq default-abbrev-mode t) Ich bin mir nicht sicher warum.
Ich wiederhole: Wenn der Abkürzungsmodus aktiviert ist und eine Abkürzung gefolgt von einem Leerzeichen eingegeben wird, wird sie sofort erweitert. Wenn Sie dies jedoch nicht möchten, können Sie es deaktiviert lassen und sie manuell wie folgt erweitern:
offen Ctrl-x a e
wird:
Dies ist der Text eines ersten Absatzes.
Sie können auch YASnippet ausprobieren, mit dem Sie bei Bedarf vollständige Teile des Kesselplattentexts tabulieren können.
Gnus verwendet den Nachrichten-Modus zum Erstellen von Nachrichten, so dass man möglicherweise einige spezifische Funktionen dafür hat.
Ich würde dafür einen benutzerdefinierten Hook verwenden message-setup-hook
(der mich fragt, was ich gefragt werden möchte und eine Vorlage erstellt). Beachten Sie, dass dieser Hook sowohl für E-Mail- als auch für Usenet-Nachrichten aufgerufen wird, sowohl für neue Nachrichten als auch für Antworten. Es sollte jedoch einfach sein, diese Fälle vom Pufferinhalt zu unterscheiden.
Im einfachsten Fall können Sie Folgendes tun:
(setq my-F3-keymap (make-sparse-keymap))
(global-set-key [(f3)] my-F3-keymap)
(define-key my-F3-keymap [(n)]
(function
(lambda ()
"insert now is..."
(interactive)
(insert "Now is the time for all good men to come to the aid of their country."))))
(define-key my-F3-keymap [(N)]
(function
(lambda ()
"insert now is... with newlines"
(interactive)
(insert "Now is the time\nfor all good men\nto come to the aid\nof their country."))))
(define-key my-F3-keymap [(f)]
(function
(lambda ()
"insert external file contents"
(interactive)
(insert-file "c:/temp/foo.html"))))