Overview
You can connect to multiple nREPL servers using M-x cider-jack-in
(or cider-connect
) multiple times. To close the current nREPL connection, use
C-c C-q (cider-quit
). You can close all connections with
C-u C-c C-q.
CIDER maintains a list of nREPL connections and a single 'default'
connection. When you execute CIDER commands in a Clojure editing buffer such as
to compile a namespace, these commands are executed against a specific
connection. This is controlled by the variable cider-request-dispatch
- when
it's set to 'dynamic
(the default), CIDER will try to infer which connection
to use from the current project and currently visited file; when 'static
dispatch is used all requests will always be routed to the default connection
(this was the default behavior in CIDER before 0.10).
There's a handy command called cider-toggle-request-dispatch
. You can use it
to quickly switch between dynamic and static request dispatch. A common use-case
for it would be to force temporary all evaluation commands to be using a
particular (the default) connection.
You can display the current nREPL connection using C-c M-d
and rotate the default connection using C-c M-r. Another
option for setting the default connection is to execute the command
M-x cider-make-connection-default
in the appropriate
REPL buffer.
Connection browser
You can obtain a list of all active connections using M-x
cider-connection-browser
. This buffer provides a few extra keybindings:
Command | Keyboard shortcut | Description |
---|---|---|
cider-connections-make-default |
d | Make connection at point default. |
cider-connections-close-connection |
k | Close connection at point. |
cider-connection-browser |
g | Refresh connection browser. |
cider-connections-goto-connection |
RET | Visit connection buffer. |
cider-popup-buffer-quit-function |
q | Close window. |
Switch to connection buffer
The REPL buffers double as connection buffers.
To switch to the relevant REPL buffer based on the Clojure namespace in the current Clojure buffer, use: C-c C-z. You can then use the same key combination to switch back to the Clojure buffer you came from.
The single prefix C-u C-c C-z, will switch you to the relevant REPL buffer and set the namespace in that buffer based on namespace in the current Clojure buffer.
Renaming connections
To change the designation used for CIDER buffers use M-x
cider-change-buffers-designation
. This changes the CIDER REPL
buffer, nREPL connection buffer and nREPL server buffer. For example
using cider-change-buffers-designation
with the string "foo" would
change *cider-repl localhost*
to *cider-repl foo*
.