classpath.vim
This plugin sets the 'path'
for JVM languages to match the class path of
your current Java project. This lets commands like :find
and gf
work as
designed. I originally wrote it for Clojure, but I see no reason why it
wouldn't be handy for other languages as well.
Currently, Maven and Leiningen are supported, with a fallback to
$CLASSPATH
if neither applies. Open an issue if you have
ideas for supporting another project management system.
Included is a :Java
command, which executes java
(or $JAVA_CMD
) with the
current buffer's 'path'
as the class path.
Installation
If you don't have a preferred installation method, I recommend installing pathogen.vim, and then simply copy and paste:
cd ~/.vim/bundle
git clone git://github.com/tpope/vim-classpath.git
Once help tags have been generated, you can view the manual with
:help classpath
.
FAQ
Why does it take so long for Vim to startup?
The short answer is because the JVM is slow.
The first time you load a Clojure file from any given project, classpath.vim
sets about trying to determine your class path, leveraging either
lein classpath
or mvn dependency:build-classpath
. This takes a couple of
seconds or so in the best case scenario, and potentially much longer if it
decides to hit the network.
Because the class path is oh-so-expensive to retrieve, classpath.vim caches it
in ~/.cache/vim/classpath
. The cache is expired when the timestamp on
project.clj
or pom.xml
changes.
Contributing
See the contribution guidelines for pathogen.vim.
Self-Promotion
Like classpath.vim? Follow the repository on GitHub. And if you're feeling especially charitable, follow tpope on Twitter and GitHub.
License
Copyright Β© Tim Pope. Distributed under the same terms as Vim itself.
See :help license
.