rainbow-delimiters is a "rainbow parentheses"-like mode which highlights
delimiters such as parentheses, brackets or braces according to their depth.
Each successive level is highlighted in a different color. This makes it easy to
spot matching delimiters, orient yourself in the code, and tell which statements
are at a given depth.
Great care has been taken to make this mode fast. You shouldn't see any change in scrolling or editing speed when it's on even when working in delimiter-rich languages like Clojure or Emacs Lisp. It can be used with any language.
You can customize the colors
rainbow-delimiters uses. The default colors are
intentionally subtle; they are unobtrusive enough to make the mode worth looking
at even if you usually don't like rainbow parentheses modes. A number of major
color themes such as Zenburn and Solarized have added their own faces for the
This is the official github repository for
The latest release of
rainbow-delimiters is always found at
M-x package-install RET rainbow-delimiters RET
rainbow-delimiters.el in Emacs and use
Any other methods of installation are unsupported.
To toggle the mode in the current buffer:
To start the mode automatically in
foo-mode, add the following to your init
(add-hook 'foo-mode-hook #'rainbow-delimiters-mode)
To start the mode automatically in most programming modes (Emacs 24 and above):
(add-hook 'prog-mode-hook #'rainbow-delimiters-mode)
global-rainbow-delimiters-mode anymore. It used to exist, but it
was impossible to keep it from breaking some major modes. It's strongly
recommended to use major mode hooks instead, as shown above. There's nothing
stopping you from defining
global-rainbow-delimiters-mode yourself, but if it
breaks something, you're on your own.
To customize various options, including the color theme:
M-x customize-group rainbow-delimiters
You can specify custom colors by customizing following faces:
- Faces take the form
rainbow-delimiters-depth-N-face, with N being the depth. Depth begins at 1, the outermost color. Faces exist for depths 1-9.
- The unmatched delimiter face:
- The mismatched delimiter face: