Emacs Lisp

From WikEmacs
Jump to navigation Jump to search


(a short overview should go here)

Basic setup

Emacs' support for all lisp languages, including Emacs Lisp, can be customized through the Custom mechanism by running the command M-x customize-group RET lisp RET

Helpful keybindings

<span title="Try `C-h k M-<tab>' for more information." style="border-bottom
1px dotted">[M-<tab>]
Complete at point
[C-M-q]
Indent the sexp following point
[C-M-x]
Evaluate the defun at point

Common customizations

Outlining

For Org-style outlining, add the following customizations.

;; Turn on outline minor mode
(add-hook 'emacs-lisp-mode-hook  'outline-minor-mode)

;; Add key bindings for Org-style outline cycling
(add-hook 'outline-minor-mode-hook
  (lambda ()
    (define-key outline-minor-mode-map [(control tab)] 'org-cycle)
    (define-key outline-minor-mode-map [(shift tab)] 'org-global-cycle)))

Now visit any elisp file (say M-x find-library RET outline) and keep pressing [S-TAB] and see what happens. Experiment similarly with [C-TAB].

Indentation

Add following customization, so that you don't have to indent deliberately. See reindent-then-newline-and-indent.

(add-hook 'emacs-lisp-mode-hook
	  (lambda nil
	    (local-set-key [(return)] 'reindent-then-newline-and-indent)))

External links