Navigating Clojure Namespacesλ︎
, g n (cider-find-ns) lists the namespaces currently loaded into the running REPL. Type a pattern to narrow the list. C-j and C-k to navigate the list. RET to open the namespace in the current buffer.
Namespaces via Projectileλ︎
SPC p f (helm-projectile-find-file) is an effective way to switch between files in the project. Helm uses fuzzy matching, so _ characters can be skipped when narrowing the helm list with a pattern, so searching for a file is the same as searching for a namespace.
g gjumps to the top of the file, which should be near to the location of thensform
LSP symbols and ns definitionsλ︎
, g s (helm-lsp-workspace-symbols) lists all the symbols found in the current project, including ns, def and defn forms.
Type in a pattern to narrow the list. C-j and C-k to navigate the list.
RET to jump to the symbol, opening the relevant namespace in the current buffer.
Browse namespace symbol documentationλ︎
Browse namespace symbols by navigating through the definitions in a namespace (def, defn) and view their documentation (doc strings).
, h n (cider-browse-ns) lists all namespaces loaded into the REPL in the current project. Namespaces in the project that have not been evaluated, directly or via a require, will not be in the list.
RET to show the symbols in the namespace
RET on a namespace symbol to see the documention in a pop-up wondow. Use the link to the source code file in the documentation to open the namespace in the buffer.
REPL buffer cider commandsλ︎
, in Evil insert mode in the REPL buffer will bring up the REPL command menu
| Command | Description |
|---|---|
browse-ns |
Browse namespace |
ns |
Switch to namespace (lists known namespaces) |
Using code to change the namespaceλ︎
in-ns function will set the namespace for the REPL. If that namespace does not exist, then the namespace is created in the current REPL.




