110 lines
4.3 KiB
Plaintext
110 lines
4.3 KiB
Plaintext
___ ______ ______________ ________
|
||
__ | / /__(_)______ _____ ____/__ /___________(_)___ _____________
|
||
__ | / /__ /__ __ `__ \ / __ /_ __ \____ /_ / / /_ ___/ _ \
|
||
__ |/ / _ / _ / / / / / /___ _ / / /_/ /___ / / /_/ /_ / / __/
|
||
_____/ /_/ /_/ /_/ /_/\____/ /_/ \____/___ / \__,_/ /_/ \___/
|
||
/___/
|
||
|
||
VimClojure – a Clojure environment for Vim
|
||
==========================================
|
||
|
||
VimClojure is one of the most sophisticated editing environments for Clojure.
|
||
It provides syntax highlighting, indenting and command completion.
|
||
|
||
If requested it also provides a SLIME like interface to dynamically work with
|
||
Clojure code. For this to work the included Nailgun server must be running.
|
||
Remote may be forwarded via ssh.
|
||
|
||
Features of the interactive interface are:
|
||
|
||
- dynamic documentation lookup
|
||
- dynamic javadoc lookup (in an external browser)
|
||
- Repl running in a Vim buffer
|
||
- smart omni completion
|
||
- easy evaluation of code in a buffer
|
||
|
||
To activate the interactive interface define the clj_want_gorilla variable
|
||
in your .vimrc: let clj_want_gorilla = 1
|
||
|
||
Requirements
|
||
============
|
||
|
||
Please make sure that the following options are set in your .vimrc:
|
||
|
||
––8<––––8<––––8<––
|
||
syntax on
|
||
filetype plugin indent on
|
||
––8<––––8<––––8<––
|
||
|
||
Otherwise the filetype is not activated, and hence VimClojure doesn't work.
|
||
|
||
Building the Nailgun interface
|
||
==============================
|
||
|
||
To build the Nailgun interface, create a local.properties file that contains
|
||
the path to your clojure.jar and clojure-contrib.jar. The file should look
|
||
similar to:
|
||
|
||
––8<––––8<––––8<––
|
||
clojure.jar=/path/to/clojure.jar
|
||
clojure-contrib.jar=/path/to/clojure-contrib.jar
|
||
nailgun-client=ng
|
||
vimdir=/custom/installation/path/for/vimplugin
|
||
––8<––––8<––––8<––
|
||
|
||
Once you have created this file, simply run ant. This should give a
|
||
vimclojure.jar containing the server part and the nailgun client. Note for
|
||
Windows users: please leave out the last line in the properties file. The
|
||
windows client for nailgun is included in the distribution as ng.exe. Delete
|
||
it only in case you are sure, that you can rebuild it. You may see an error
|
||
when building the nailgun-client. That's ok.
|
||
|
||
Running „ant install“ will install the vim plugin into the named directory.
|
||
If you omit the vimdir line in the local.properties file the vim plugin
|
||
will be installed in the user's runtime directory – <home>/.vim on Unic/Mac,
|
||
<home>\vimfiles on Windows.
|
||
|
||
To run the Nailgun server you need the clojure.jar, clojure-contrib.jar and
|
||
vimclojure.jar in your Classpath:
|
||
|
||
java -cp /path/to/clojure.jar:/path/to/clojure-contrib.jar:/path/to/vimclojure.jar com.martiansoftware.nailgun.NGServer 127.0.0.1
|
||
|
||
There is also a launcher script included in the bin subdirectory based on
|
||
Stephen C. Gilardi's clj-env-dir launcher. Set the environment variable
|
||
CLOJURE_EXT to the name of a directory containing the jars and (possibly
|
||
links to) subdirectories you want in your classpath. Additionally the
|
||
CLASSPATH environment variable will be added to the classpath.
|
||
|
||
Put the nailgun client somewhere into your PATH or specify the location in
|
||
your .vimrc by means of the vimclojure#NailgunClient variable.
|
||
|
||
––8<––––8<––––8<––
|
||
let vimclojure#NailgunClient = "/path/to/your/ng"
|
||
––8<––––8<––––8<––
|
||
|
||
Please refer to the online documentation in the doc folder for further
|
||
information on how to use VimClojure, its features and its caveats.
|
||
|
||
Note: You might need to check the Makefile for special lib requirments
|
||
to compile the nailgun client, eg. OpenSolaris.
|
||
|
||
Using Ivy
|
||
=========
|
||
|
||
Alternatively you may use Ivy to resolve the dependencies. Simply omit the
|
||
first two lines in the local.properties file and ant will automatically
|
||
download any missing dependencies. In case you don't have Ivy installed,
|
||
this will be fetched also.
|
||
|
||
VimClojure is available as Ivy dependency also. Run "ant publish-local"
|
||
after building the VimClojure and use
|
||
|
||
<dependency org="de.kokta" name="vimclojure" rev="2.1.0"/>
|
||
|
||
to include the VimClojure jar in your projects classpath. But mapping
|
||
the dependency to a private configuration the dependency is only for
|
||
development. Users of your project won't be bothered with the dependency.
|
||
|
||
Meikel Branmdeyer <mb@kotka.de>
|
||
Frankfurt am Main, 2009
|