clojure-cheatsheet
clojure-cheatsheet copied to clipboard
[DEPRECATED] The Clojure Cheatsheet for Emacs
This repository is now deprecated, as the functionality was moved upstream to [[https://github.com/clojure-emacs/cider][CIDER]] and [[https://github.com/clojure-emacs/helm-cider][helm-cider]].
- Clojure Cheatsheet for Emacs The incredibly handy [[http://clojure.org/cheatsheet][Clojure Cheatsheet]], updated for Clojure 1.7.0 and packaged into an easy, fast, searchable, offline form:
[[screenshot1.png]]
** Status Ready to use. Based on Clojure 1.7.0.
** Installation
If you're hooked up to [[http://melpa.milkbox.net/][MELPA]]:
#+BEGIN_EXAMPLE M-x package-refresh-contents M-x package-install RET clojure-cheatsheet #+END_EXAMPLE
Alternatively just grab the single =clojure-cheatsheet.el= file and install that in your preferred way.
*** Keybindings
The cheatsheet doesn't ship with keybindings - people tend to have strong opinions on them. As a reminder, here's how to define custom =clojure-mode= keybindings in your own =.emacs= config:
**** Regular Emacs #+BEGIN_EXAMPLE (eval-after-load 'clojure-mode '(progn (define-key clojure-mode-map (kbd "C-c C-h") #'clojure-cheatsheet))) #+END_EXAMPLE
**** Evil Users #+BEGIN_EXAMPLE (evil-define-key 'normal clojure-mode-map "H" 'clojure-cheatsheet) #+END_EXAMPLE
** Basic Usage
Call =M-x clojure-cheatsheet= and the cheatsheet will appear. Type in some terms (space separated) to narrow down the list. For example, try typing in =sort map= to see some functions that deal with sorting maps.
*** Keys
| =C-n= | Next item. | | =C-p= | Previous item. | | =C-o= | Next section. | | =RET= | Jump to the Clojure docs for the current selection. | | =C-z= | Jump to the Clojure docs for the current selection /without closing the cheatsheet/. | | =C-e= | Jump to the Clojure src for the current selection. | | =C-h m= | Full list of keyboard shortcuts. |
** Advanced Usage
This package stands on top of Helm. The variable =helm-source-clojure-cheatsheet= is available if you want to mix it in as a Helm source.
** See Also If you like this, and you like org-mode, then you'll probably like [[https://github.com/emacs-helm/helm-orgcard][helm-orgcard]] too...
** Building
The constant =clojure-cheatsheet-hierarchy= defines the contents of the cheatsheet. See the docstring of that constant for a full description of the format.
There is a test suite in =clojure-cheatsheet-tests.el= that checks that every symbol defined in the cheatsheet is valid, and that every symbol defined by Clojure is in the sheet (with a few explicit exceptions).
To run the test suite:
- Clone the project.
- Open =clojure-cheatsheet-tests.el=.
- Call =M-x eval-buffer=.
- Call =M-x cider-jack-in= to start a Clojure REPL.
- Call =M-x ert <RET>= to run the test suite.
- Optional: Marvel at Emacs' support for test suites.