Как я могу сделать шаблонный текст для использования с почтовыми ответами Гну Emacs?
AbbrevMode работает у Гну.
Из той ссылки (с некоторыми редактированиями):
Определение Abbrevs
Введите слово, которое Вы хотите использовать в качестве расширения и затем ввести ‘C-x g’ и сокращение для него. Пример:
Это - текст вводного абзаца. Esc h Ctrl-u 0 Ctrl-x gopenReturn
Я: это - нуль после C-u
. Вместе они делают abbrev определение C-x a g
обратитесь к выбранному региону, который является абзацем, в этом случае, который M-h
(Esc-h
или Alt-h
) выбранный. abbrev определение может быть сделано применяться только к текущему главному режиму вместо глобально при помощи C-x a l
(это - "эль" вместо "g").
Сохранение Abbrevs
Используйте ‘M-x write-abbrev-file’ и просто поразите RET при просьбе относительно имени файла. Значение по умолчанию “~/.abbrev_defs”. В будущем Emacs должен сохранить abbrevs автоматически при выходе из Emacs.
Кроме того, если Вы хотите, чтобы сокращения были сохранены каждый раз, когда Вы сохранили файлы (C-x s) или выходите из emacs, добавьте следующее к своему .emacs:
(setq сохраняют-abbrevs t),
Восстановление Abbrevs
Используйте ‘M-x read-abbrev-file’, чтобы считать abbrevs, или еще лучше, добавить следующее к Вашему ~/.emacs файл:
(quietly-read-abbrev-file)
Это прочитает определения из файла по умолчанию, “~/.abbrev_defs”.
Использование Abbrevs
‘Abbrev-режим M-x’ переключается режим Abbrev. Можно также поместить следующее в ~/.emacs файл, если Вы всегда хотите это на:
(abbrev-режим 1) На самом деле, Вам, вероятно, придется сделать:
(setq default-abbrev-mode t), я не действительно уверен почему.
я снова: После того как abbrev-режим идет, введение сокращения, сопровождаемого пробелом, заставляет его быть сразу расширенным. Однако, если Вы не хотите, чтобы это произошло, можно оставить выключенным и развернуть их вручную как это:
openCtrl-x e
становится:
Это - текст вводного абзаца.
Вы могли также попробовать YASnippet, который позволит Вам снабжать вкладками полные части шаблонного текста при необходимости.
Гну используют Режим сообщения для создания сообщений, настолько возможно, что у каждого есть некоторые определенные функции для него.
Я использовал бы пользовательский рычаг в message-setup-hook
для этого (который спрашивает меня, что я хочу быть спрошенным и создать шаблон). Обратите внимание, что этот рычаг называют и для электронной почты и для новостей о Usenet, и новые сообщения и ответы. Но должно быть легко отличить эти случаи от содержимого буфера.
В его самом простом можно сделать что-то вроде этого:
(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"))))