如何制作样板文本以用于 Emacs Gnus 电子邮件回复?
答案1
缩写模式在 Gnus 中工作。
来自该链接(经过一些编辑):
定义缩写
输入要用作扩展的单词,然后输入“Cx a g”及其缩写。例如:
这是开头段落的文字Esc h Ctrl。- u0 Ctrl-x a g打开Return
我:这是 后面的一个零C-u
。它们一起使缩写定义C-x a g
适用于所选区域,在本例中是M-h
(Esc-h
或) 选择的段落。通过使用(即“ell”而不是“g”),Alt-h
可以使缩写定义仅适用于当前主要模式,而不是全局应用。C-x a l
保存缩写
使用“Mx write-abbrev-file”,当要求输入文件名时只需按 RET 键即可。默认为“~/.abbrev_defs”。将来,当您退出 Emacs 时,Emacs 应该会自动保存缩写。
此外,如果您希望在保存文件(Cx s)或退出 emacs 时保存缩写,请将以下内容添加到您的 .emacs:
(setq 保存缩写 t)
恢复缩写
使用“Mx read-abbrev-file”来读取缩写,或者更好的是,将以下内容添加到您的~/.emacs 文件中:
(静静地阅读缩写文件)
这将从默认文件“~/.abbrev_defs”中读取定义。
使用缩写
'Mx abbrev-mode' 切换缩写模式。如果您希望始终启用该模式,还可以将以下内容放入 ~/.emacs 文件中:
(缩写模式 1)实际上,您可能必须这样做:
(setq default-abbrev-mode t)我不太清楚为什么。
又是我:一旦启用缩写模式,输入缩写后跟空格会使其立即展开。但是,如果您不想发生这种情况,您可以将其关闭并手动展开,如下所示:
打开Ctrl-x a e
变成:
这是开头段落的文字。
答案2
你也可以尝试YASnippet这样您就可以在需要的地方对样板文本的完整部分进行制表。
答案3
Gnus 使用消息模式来创建消息,因此也许它具有一些特定的功能。
我会为此使用自定义钩子message-setup-hook
(它会询问我想要询问的内容并创建模板)。请注意,此钩子会针对电子邮件和 usenet 新闻、新消息和回复进行调用。但应该很容易将这些情况与缓冲区内容区分开来。
答案4
最简单的方法是,你可以这样做:
(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"))))