Emacs Lisp: How to Write a Command

By Xah Lee. Date: . Last updated: .

Evaluate the following code. Then, you can call it by execute-extended-commandAlt+x

(defun yay ()
  "Insert “Yay!” at cursor position."
  (interactive)
  (insert "Yay!"))

(info "(elisp) Defining Commands")

Command Template

Here is a function definition template that majority of elisp commands follow:

(defun my-command ()
  "One sentence summary of what this command do. Less than 70 chars, try.

More details here. Be sure to mention the return value if relevant.
Lines here should not be longer than 70 chars,
and don't indent them."
  (interactive)
  (let (var1 var2 etc)
    ;; do something here
    ;; last expression is returned
    ))

In your doc string, if you want clickable URL, or clickable reference to other commands, etc., See: Emacs Lisp: Function Doc String Markup.

be sure to also read Emacs Lisp: Simple Emacs Lisp Examples

Emacs Lisp Function

ErgoEmacs mascot-s276x226
Buy Xah Emacs Tutorial

Practical Elisp ⭐

Writing Command

Writing Script