使用 Emacs Gnus 的样板文本

使用 Emacs Gnus 的样板文本

如何制作样板文本以用于 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"))))

相关内容