Emacs support for the Clojure language
Emacs Lisp Clojure
Pull request Compare This branch is 809 commits behind clojure-emacs:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Clojure Mode

Provides Emacs font-lock, indentation, and navigation for the Clojure language.


It's easiest to install and keep Clojure Mode updated using package.el.

;; add to ~/.emacs.d/init.el if you aren't already using Marmalade.
(require 'package)
(add-to-list 'package-archives
             '("marmalade" . "http://marmalade-repo.org/packages/"))
  • M-x eval-buffer
  • M-x package-refresh-contents
  • M-x package-install clojure-mode

If you use a version of Emacs prior to 24 that doesn't include package.el, you can get it from http://bit.ly/pkg-el23. If you have an older package.el installed from tromey.com, you should upgrade in order to support installation from multiple sources.

Of course, it's possible to install from source if you don't mind missing out on automated updates, byte-compilation, and autoloads. Download clojure-mode.el and place it in the ~/.emacs.d/ directory, creating it if it doesn't exist. Then add this to the file ~/.emacs.d/init.el:

(add-to-list 'load-path "~/.emacs.d/")
(require 'clojure-mode)


Using clojure-mode with paredit is highly recommended. It is also available using package.el from the above archive.

Use paredit as you normally would with any other mode; for instance:

;; (require 'paredit) if you didn't install via package.el
(defun turn-on-paredit () (paredit-mode 1))
(add-hook 'clojure-mode-hook 'turn-on-paredit)

Basic REPL

Use M-x run-lisp to open a simple REPL subprocess using Leiningen. Once that has opened, you can use C-c C-r to evaluate the region or C-c C-l to load the whole file.

If you don't use Leiningen, you can set inferior-lisp-program to a different REPL command.


You can also use Leiningen to start an enhanced REPL via SLIME:

$ lein plugin install swank-clojure 1.3.3

M-x clojure-jack-in # from inside a project


Copyright © 2007-2011 Jeffrey Chu, Lennart Staflin, Phil Hagelberg

Distributed under the GNU General Public License; see C-h t to view.