Created
May 1, 2014 18:22
-
-
Save halcyon/11458152 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| *fireplace.txt* Clojure REPL tease | |
| Author: Tim Pope <http://tpo.pe/> | |
| License: Same terms as Vim itself (see |license|) | |
| This plugin is only available if 'compatible' is not set. | |
| *fireplace* | |
| While not strictly necessary, this plugin works best with the middleware | |
| provided by <https://github.com/clojure-emacs/cider-nrepl>. | |
| CONNECTING TO A REPL *fireplace-connect* | |
| Connecting to lein repl happens automatically. If you have a different setup, | |
| you can connect by hand. | |
| *fireplace-:Connect* | |
| :Connect {proto}://{host}:{port} {path} | |
| Connect to a REPL server. The path is the root of the | |
| project that the REPL applies to. | |
| :Connect Interactively prompt for the options to connect to a | |
| REPL server. | |
| The REPL is used for the commands below. If no REPL is found for the current | |
| buffer and 'path' contains at least one jar file, java (or $JAVA_CMD) is | |
| invoked directly, which can be quite slow depending on your setup. | |
| The only adapter shipped with fireplace.vim is for nREPL. You need either | |
| |if_pyth| or the python command in your PATH. | |
| *fireplace-piggieback* *fireplace-clojurescript* | |
| ClojureScript can be evaled with Piggieback if the appropriate nREPL | |
| middleware is loaded: https://github.com/cemerick/piggieback. Be aware that | |
| your ClojureScript files must be available on the classpath for this to work | |
| properly, and that not all operations are supported. | |
| *fireplace-:Piggieback* | |
| :Piggieback [{env}] Create a new nREPL session and invoke | |
| cemerick.piggieback/cljs-repl with the given or | |
| default (Rhino) environment. This will also happen | |
| automatically on first eval in a ClojureScript buffer | |
| if not invoked explicitly. | |
| :Piggieback! Terminate the most recently created piggieback | |
| session. | |
| DOCUMENTATION *fireplace-documentation* | |
| *fireplace-:Doc* | |
| :Doc {symbol} Show the docs for the given symbol. | |
| *fireplace-:Javadoc* | |
| :Javadoc {class} Open the java docs for the given class in a browser. | |
| *fireplace-K* | |
| K Look up docs for keyword under cursor. | |
| *fireplace-:FindDoc* | |
| :FindDoc {arg} Wrapper around (clojure.repl/find-doc ...). | |
| *fireplace-:Apropos* | |
| :Apropos {arg} Wrapper around (clojure.repl/apropos ...). | |
| *fireplace-:Source* | |
| :Source {symbol} Show the source for the given symbol. | |
| *fireplace-[d* | |
| [d Show source for keyword under cursor. | |
| ]d | |
| NAVIGATING *fireplace-navigating* | |
| These commands will never use a remote REPL, only a local one, as file paths | |
| on a remote server wouldn't be very useful locally. | |
| *fireplace-[_CTRL-D* | |
| [<C-D> Jump to the source of the keyword under the cursor. | |
| ]<C-D> | |
| *fireplace-CTRL-W_CTRL-D* | |
| <C-W><C-D> Jump to the source of the keyword under the cursor in | |
| <C-W>d a split. | |
| *fireplace-gf* | |
| gf Go to the file for the namespace under the cursor. | |
| *fireplace-:Djump* | |
| :Djump {symbol} Jump to the definition for the given symbol. | |
| *fireplace-:Dsplit* | |
| :Dsplit {symbol} Jump to the definition for the given symbol in a | |
| split. | |
| EVALUATING CODE *fireplace-eval* | |
| All code is evaluated in the namespace of the current file, requiring it if | |
| necessary. If the current file sits outside the class path (project.clj, for | |
| example), the user namespace is used instead. If an exception occurs, the | |
| stack trace is loaded into the |location-list|. Use |:lopen| to view it. | |
| *fireplace-:Require* | |
| :Require [ns] Require :reload the given/current namespace. | |
| *fireplace-:Require!* | |
| :Require! [ns] Require :reload-all the given/current namespace. | |
| *fireplace-:Eval* | |
| :Eval Eval/print the outermost form for the current line. | |
| :{range}Eval Eval/print the given range. | |
| :Eval {expr} Eval/print the given expression. | |
| *fireplace-:Eval!* | |
| :[range]Eval! Eval the given range or outermost expression and | |
| replace it with its result. | |
| :[range]Eval! {expr} Eval the given expression and insert it after | |
| the given range or current line. | |
| *fireplace-:RunTests* | |
| :RunTests [ns] [...] Call clojure.test/run-tests on the given namespaces | |
| and load the results into the quickfix list. | |
| :RunTests! [pattern] Call clojure.test/run-all-tests with the given pattern | |
| and load the results into the quickfix list. | |
| *fireplace-cp* | |
| cp{motion} Eval/print the code indicated by {motion}. | |
| cpp Eval/print the innermost form at the cursor. | |
| *fireplace-cpr* | |
| cpr :Require|RunTests | |
| *fireplace-c!* | |
| c!{motion} Eval/replace the code indicated by {motion}. | |
| c!! Eval/replace the innermost form at the cursor. | |
| *fireplace-cm* | |
| cm{motion} Fully macroexpand the code indicated by {motion}. | |
| *fireplace-cmm* | |
| cmm Fully macroexpand the innermost form at the cursor. | |
| *fireplace-c1m* | |
| c1m{motion} Macroexpand the code indicated by {motion} once. | |
| *fireplace-c1mm* | |
| c1mm Macroexpand the innermost form at the cursor once. | |
| *fireplace-cqp* | |
| cqp Bring up a prompt for code to eval/print. | |
| *fireplace-cqc* | |
| cqc Bring up a |command-line-window| for code to | |
| eval/print. Equivalent to cqp<C-F>i. | |
| *fireplace-cq* | |
| cq{motion} Bring up a |command-line-window| with text indicated | |
| by {motion} prepopulated. | |
| *fireplace-:Last* | |
| :Last Open the result of the last evaluation in the preview | |
| window. Use :2Last to get the next-to-last result, | |
| and so on. Once the window is open, cycle to older | |
| and newer entries with |:lprevious| and |:lnext|. | |
| And insert mode: | |
| *fireplace-i_CTRL-R_(* | |
| <C-R>( Evaluate the given expression and insert the result. | |
| There's omnicomplete on |CTRL-X_CTRL-O|, which works in Clojure buffers and | |
| in the |command-line-window|, and tab complete at the cqp prompt. | |
| ABOUT *fireplace-about* | |
| Grab the latest version or report a bug on GitHub: | |
| http://github.com/tpope/vim-fireplace | |
| vim:tw=78:et:ft=help:norl: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment