Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A filetype, syntax and indent plugin for Clojure

branch: master

Version 2.3.6

Fixed more problems with result window handling. This time hopefully a real fix. Reported by Perry Trolard.
latest commit 2a17c24957
Meikel Brandmeyer authored August 24, 2012 vim-scripts committed September 02, 2012
Octocat-spinner-32 autoload Version 2.3.6 September 02, 2012
Octocat-spinner-32 bin Version 2.2.0 November 13, 2010
Octocat-spinner-32 doc Version 2.3.4 August 16, 2012
Octocat-spinner-32 ftdetect Version 2.2.0 November 13, 2010
Octocat-spinner-32 ftplugin Version 2.3.2 June 09, 2012
Octocat-spinner-32 indent Version 2.3.5 August 16, 2012
Octocat-spinner-32 plugin Version 2.3.4 August 16, 2012
Octocat-spinner-32 syntax Version 2.3.2 June 09, 2012
Octocat-spinner-32 README Version 1.3.0: Initial upload November 13, 2010
Octocat-spinner-32 README.markdown Version 2.2.0 November 13, 2010
README.markdown

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.

VimClojure is not intended to be an easy to use Clojure IDE, but a plugin to make life easier for people already familiar with Vim. So you should be familiar with Vim and/or Java. Eg. VimClojure won't help you in any way to set up a correct classpath! This is the responsibility of the build system of the given project. So before using the dynamic server make yourself comfortable with Clojure, the JVM and Vim.

Requirements

Please make sure that the following options are set in your .vimrc:

syntax on
filetype plugin indent on

Otherwise the filetype is not activated, and hence VimClojure doesn't work.

The following assumes a standard installation. If you have installed Vim (or are installing VimClojure) in a non-standard way, I trust that you know what you are doing.

Online Documentation

Please refer to the online documentation in the doc folder for further information on how to use VimClojure, its features and its caveats. To rebuild the help tags for the online documentation issue the following command in Vim instance.

" On Unix:
:helptags ~/.vim/doc
" On Windows:
:helptags ~/vimfiles/doc

Here be Dragons

If requested VimClojure 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

However: This is not a requirement! VimClojure works perfectly in offline mode. That is: just unpack the distribution zip in your .vim directory and you are good to go! In fact I discourage newbies to use the server until being more comfortable with Clojure and/or the JVM.

Configuration

To activate the interactive interface define the vimclojure#WantNailgun variable in your .vimrc: let vimclojure#WantNailgun = 1

Building the Nailgun interface

You have to download and install the client program once. Unless there is a note in the release notes it will be compatible with future releases. The client can be downloaded from: http://kotka.de/projects/vimclojure/vimclojure-nailgun-client-.zip.

After unzipping the archive, simply type make in the subdirectory from the zip archive. This will compile the nailgun client. For Windows the client is already pre-compiled as ng.exe.

Configure the location of the nailgun client in your .vimrc:

let vimclojure#NailgunClient = "/path/to/your/ng"

It will default to just ng which should work if the client is on your PATH.

Note: You might need to check the Makefile for special lib requirements to compile the nailgun client, eg. on OpenSolaris.

It is not required to build the server side of the Nailgun interface and I strongly discourage to do so. The server is provided as jar file from Clojars. Just add the artifact to your development dependencies.

  • For Gradle (with Clojuresque):

    dependencies { development 'vimclojure:server:' }

  • For Leiningen:

    (defproject … :dev-dependencies [… [vimclojure/server ""] …])

  • For Ivy:

    http://clojars.org/repo/vimclojure/server//server-.jar

    There are also launcher scripts included in the vimclojure/bin subdirectory based on Stephen C. Gilardi's clj-env-dir launcher. See information on how to use them in the corresponding files.

    Meikel Branmdeyer mb@kotka.de Erlensee, 2010

Something went wrong with that request. Please try again.