You can connect to multiple nREPL servers using M-x
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
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
cider-make-connection-default in the appropriate
You can obtain a list of all active connections using M-x
cider-connection-browser. This buffer provides a few extra keybindings:
||d||Make connection at point default.|
||k||Close connection at point.|
||g||Refresh connection browser.|
||RET||Visit connection buffer.|
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.
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
cider-change-buffers-designation with the string "foo" would
*cider-repl localhost* to