This is my first foray into the world of vim scripting. If you spot anything that's bad practice, or have any feedback at all, I'd love to hear from you!
Please note that this plugin has currently only been tested on OS X. I would love to hear from you if you use this plugin (successfully or otherwise) on Windows or Linux.
- Syntax highlighting
- Documentation lookup
- Run sketches from within vim
Install with Vundle
Add this to your vimrc in the appropriate place:
:so ~/.vimrc :BundleInstall
Install with Pathogen
Just clone it:
cd ~/.vim/bundle git clone https://github.com/willpragnell/vim-reprocessed.git
Looking up documentation
This feature requires that your vim has been compliled with python support.
Simply move the cursor to the keyword you would like to look up and hit 'K' in
normal mode. Note that words followed by an opening paren '(' are treated as
frameRate will go to different pages in the
By default, reprocessed will try to look up documentation online. However, you can configure it to access local documentation by adding the following line to your .vimrc:
Of course, you'll want to replace the path with the actual path on your machine. In some cases, I have seen this fail to work on OS X when attempting to link to the documentation within the Processing.app application bundle. The solution is to make a copy of that documentation elsewhere on the filesystem.
This feature requires the
processing-java command to be available in your
PATH. On Linux & Windows you'll need to add it manually, but on OS X you should
be able to install this from within Processing.app. See the
Processing wiki for more information.
WARNING: If you have a directory inside your sketch directory called "bin"
then it will be destroyed when you run your sketch using this method unless you
have explicitly configured reprocessed to use a different path.
If you want to specify the output directory for
processing-java to some path
other than "bin", then you can do so with one the following lines in your .vimrc:
let processing_output_dir="path/relative/to/sketch" let processing_output_dir="/absolute/path"
Paths without a leading
/ will be set relative to your sketch directory, in
contrast to paths that start wtih a
/ which will be read as absolute paths.
WARNING: reprocessed will run
processing-java with the
--force option, so
this directory will get nuked every time you run your sketch. Do not set this path
to a directory which contains files you care about. You have been warned!
One other requirement is that your directory structure follow the pattern that Processing expects: your sketch file should have the same name as the directory in which it exists. If you created your sketch using the Processing app then this is unlikely to be an issue, but it's something to be aware of if you're creating new sketches in vim.
You can run your sketchs normally by hitting
<leader>r, or run them full screen
<leader>p. These commands will save the file before running it. I highly
recommend that you use version control to manage your sketches so that you don't
lose any work. If you wish to disable or reconfigure these keyboard mappings,
please see the section below.
By default, reprocessed will map
<leader>p to run your sketch.
If you wish to disable these mappings because they conflict with your own custom
mappings, add the following line to your .vimrc:
let g:reprocessed_map_keys = 0
If you wish to map some other keys to run sketches, the functions you need to
map to are
:PresentCurrentSketch. So, for example, you
may want something like the following:
nnoremap <leader>1 :RunCurrentSketch<cr> nnoremap <leader>2 :PresentCurrentSketch<cr>
Check out the vim help if you want to know about how mappings work or how to
make these mappings only for
- Cleanup and update syntax file for Processing 2
- Dash integration (possibly using dash.vim)
- Add license
- Proper help/documentation
- Automatic bracket/curly-brace insertion?