В Emacs есть много способов создания шаблонов, это действительно зависит от вашего рабочего процесса. Для защиты авторских прав вы можете просто добавить сообщение об авторских правах в каждый новый открытый файл. В прошлый раз, когда я делал это, был с пакетом скелета - теперь есть более новые пакеты.
Возможно, самый простой в настройке, но не самый гибкий. Размещать ваше сообщение об авторских правах
в файл scala.template и добавьте это имя в auto-insert-alist.
(setq auto-insert-directory "~/emacs.d/templates")
(add-to-list 'auto-insert-alist '(( "\\.scala\\'" . "Scala source" ) . "scala.template"))
scala.template - это файл, который вы хотите вставить в каждый новый файл scala. Чтобы сделать это автоматически для новых файлов, необходимо добавить функцию автоматической вставки в ловушку find-file-hook.
(add-hook 'find-file-hook 'auto-insert)
Этот механизм очень мощный, можно использовать функции или шаблоны, которые требуют пользовательского ввода, вместо простого файла. Например, для заголовочных файлов C ++:
(("\\.\\([Hh]\\|hh\\|hpp\\)\\'" . "C / C++ header")
(upcase
(concat
(file-name-nondirectory
(file-name-sans-extension buffer-file-name))
"_"
(file-name-extension buffer-file-name)))
"#ifndef " str n "#define " str "\n\n" _ "\n\n#endif")
См. http://www.emacswiki.org/emacs/AutoInsertMode#toc1
Можно удалить авторские права и вызвать авто-вставку вручную. Это можно сделать с помощью макроса, который может быть вызван при сохранении файла.
Для более универсального автоматического обновления сообщений об авторских правах вы, возможно, захотите взглянуть на подход, применяемый пакетом авторских прав. Проверка авторских прав с помощью этого пакета может быть выполнена при сохранении с использованием крюка before-save. http://www.gnu.org/software/emacs/manual/html_node/autotype/Copyrights.html
См. http://www.emacswiki.org/emacs/AutomaticFileHeaders.
Также попробуйте поискать в Google auto-header.el, который тоже может помочь.