The Tempo package provides a simple way to define powerful templates, or macros, if you wish. It is mainly intended for, but not limited to, programmers to be used for creating shortcuts for editing certain kinds of documents.
A template is defined as a list of items to be inserted in the current buffer at point. Some can be simple strings, while others can control formatting or define special points of interest in the inserted text. M-x tempo-backward-mark and M-x tempo-forward-mark can be used to jump between such points.
More flexible templates can be created by including Lisp symbols, which will be evaluated as variables, or lists, which will be evaluated as Lisp expressions. Automatic completion of specified tags to expanded templates can be provided.
See the documentation for
tempo-define-template for the different
items that can be used to define a tempo template with a command for
See the commentary in tempo.el for more information on using the Tempo package.