Download
Update Site
Stable: http://vrapper.sourceforge.net/update-site/stable
Unstable: http://vrapper.sourceforge.net/update-site/unstable
File Releases
About
Vrapper is an Eclipse plugin which acts as a wrapper for Eclipse text editors to provide a Vim-like input scheme for moving around and editing text.
Unlike other plugins which embed Vim in Eclipse, Vrapper imitates the behaviour of Vim while still using whatever editor you have opened in the workbench. The goal is to have the comfort and ease which comes with the different modes, complex commands and count/operator/motion combinations which are the key features behind editing with Vim, while preserving the powerful features of the different Eclipse text editors, like code generation and refactoring.
Vrapper tries to offer Eclipse users the best of both worlds.
Development
Development of Vrapper has moved to our GitHub project at:
https://github.com/vrapper/vrapper
GitHub makes it much easier for contributors to submit code changes, bug fixes, and new features. If you'd like to contribute to Vrapper just initiate a Pull Request on our GitHub project.
The SourceForge project will remain active because it hosts our website, bug tracker, wiki, forums, direct file downloads, and Eclipse update site. The Git repository on SourceForge will only contain the state of the code for the most recent stable release. Basically, everything other than actively developed code is still on SourceForge.
If you'd like to contribute to Vrapper but need some help, here are a couple Developer Wiki pages we've put together:
Developer Wiki
News
0.74.0 Released
You guys just won't let this project die. It's been well over a year since our last release but people still submit issues and code changes. We just recently found an issue in the current version of Eclipse which causes lots of headaches for anyone with an ALT_GR key. This issue seemed drastic enough to justify another stable release. This new version includes all code changes submitted in the 20 months since 0.72.0.
Changes since 0.72.0 are:
- Fixed issues with ALT_GR handling
- Fixed behavior of '%' when cursor is on EOL
- Fixed newline replacement when using :g/[pattern]/s/^/...
- Fixed mode indicator when using dark theme
- Fixed issue with pasting a register from visual-block mode
- Fixed issue with recursive mapping loop detection
- Fixed potential stack overflow when setting caret location
- Fixed ':marks' to include marks from closed files
- Fixed issue with '//' to repeat last search (rather than just '/')
- Fixed infinite loop with sneak plugin when the first characters of a file matched search string
- Added support for <c-home> and <c-end> to go to first, last character of file
- Added ':set spell' command
- Added '"%' register to get current filename
- Added ability to escape '\%' when using ':r!'
- Added support for counts when manipulating camelCase objects
0.72.0 Released
This project has been quiet for a while. We only have 2 main developers and neither of us use Eclipse in our daily job anymore. But, people are still submitting Pull Requests so I'll keep merging them in and doing releases as long as people are still interested.
Changes since 0.70.0 are:
- Added a port of justinmk's Sneak plugin
- Added ability to set custom .vrapperrc location with `vrapper.vrapperrc` system property
- Added ability to map eclipse motions with <Plug>()
- Added support for `:delmarks` command
- Added `:se` shortcut for `:set` command
0.70.0 Released
This is a very small release and I probably could've just waited longer until there were more changes worth releasing, but I think it's good to have a reliable release cycle and we've been doing two-month releases for awhile now. Of course I rushed out 0.68.1 a little more than a month ago and we've only had two changes since then. So I do 0.xx.0 releases every two months and 0.xx.1 releases when needed. It makes sense to me at least. Anyway, these are the only changes between 0.68.1 and 0.70.0:
- Fixed behavior when one custom mapping is a subset of another custom mapping
- Fixed behavior in subword text object plugin when cursor is on word boundary
0.68.1 Released
We had a regression in the 0.68.0 release and I debated whether it was critical enough to release a 0.68.1 to fix it. The defect isn't major but it's in a common enough feature ('*' and '#') that a lot of people have noticed it. Given that Eclipse Neon was just released, I'm guessing a lot of people will be re-installing the current stable build of Vrapper with it. I figured it's best to have a solid release for those people. So here's a quick release with a couple issues we've fixed in the last month. They are:
- Fixed regression where '*' and '#' behaved like 'g*' and 'g#'
- Fixed stupid mistake which prevented you from setting <leader> in .vrapperrc
- Fixed issue with Vrapper resetting an Eclipse selection when using 'select all'
- Fixed regression which broke the ':set <option>?' feature to display value
- Changed cycle plugin so cursor stays at beginning of changed word
0.68.0 Released
I was able to find some time this month to work on new Vrapper features, including some plugin requests that have been sitting around for a while. Of course, this project is so mature now that we're looking at the more obscure features in Vim but all of these were requested by users filing Issues on our GitHub page. We hope you continue to enjoy Vrapper!
- Fixed issue where recording a macro would overwrite the unnamed register
- Fixed issue executing a macro with a count
- Fixed issue where `*` search wasn't using iskeyword value to determine word boundaries
- Fixed sentence motions '( )' and text object `s` when sentence ends on a newline
- Added support for Mac command key mappings `<D-`
- Added support for `%` to jump between block comment `/* */` tokens
- Added support for `\%V` in command-line substitutions and search for limiting to visually selected area
- useful when selection isn't line-based
- Added support for `\k` regex class for iskeyword value
- Added support for searching from command-line (ex) mode `:/` and `:?`
- Added support for `<Leader>` and `:let mapleader=`
- Added support for comment text objects `ic`/`ac` and `iC`/`aC`
- supports single line comments `//`, `#`, `--`
- supports block comments `/* */`, `<!-- -->`
- See this comment for more details
- Created a new optional plugin for sub-word motions
- Moves over words within snake_case and camelCase names
- Based loosely on https://github.com/bkad/CamelCaseMotion
- Details here: Sub-Word Plugin
- Convenience command `:subwordmappings` will setup default mappings:
- map \b <Plug>(subword-back)
- map \e <Plug>(subword-end)
- map \w <Plug>(subword-word)
- map i\ <Plug>(subword-inner)
- map a\ <Plug>(subword-outer)
- Created a new optional plugin to "cycle" through word replacements
- Based on https://github.com/zef/vim-cycle
- Details here: Cycle Plugin
- `<C-a>`/`<C-x>` will replace word under cursor with next item in cycle
- `:AddCycleGroup foo bar baz` = foo->bar->baz->foo->...
- Default cycle true->false will toggle "true" to "false" with a single keystroke
0.66.0 Released
This new release of Vrapper is pretty sizable. We received some great help in the form of Pull Requests. Thank you to all our users and contributors keeping this project going!
- Added support for Doxygen (//!) and C# (///) comments in `gq` command
- Added support for 'is'/'as' sentence text object
- Added support for <C-n> and <C-p> in Line Completion mode
- Added '%' expansion to filename when using ':!' shell command
- Add mapping for <C-w>_q to close current tab
- Fixed g_<C-g> to match Vim output (rather than Vrapper debug info)
- Fixed intermittent issue causing NullPointerExceptions when switching tabs
- Fixed issue where a macro didn't have a single atomic undo
- Fixed issue where :normal command didn't have a single atomic undo
- Changed behavior to prevent recursive macros from executing
- Fixed issue where deleting after yanking text to a register would clobber the register
- Fixed issue with Position Categories which could render editor unusable
- Fixed issue where setting 'let @x=""' in .vrapperrc would clobber that register every time a new file was opened
- Fixed inconsistencies in Line Completion mode (<C-x><C-l>)
- Fixed issue using a visual selection with the Surround plugin
- Fixed issue with Vrapper interacting with JasperSoft Studio
- Shift-Arrow keys now enter Visual mode
- Disable Eclipse's Overwrite mode if the user hits the 'Insert' key
0.64.0 Released
This new release of Vrapper only has a couple defect fixes but they're important fixes. One defect could create an infinite re-paint loop (crashing Eclipse) and another broke Vrapper in older (< 3.7) versions of Eclipse. Both of those defects are fixed!
- Fixed issue causing an infinite loop when performing an Eclipse refactor
- Fixed issue preventing Vrapper from working in older versions of Eclipse (< 3.7)
- Fixed issue where confirm substitution wouldn't open folds
- Fixed issue where setting register contents with 'let @' wouldn't allow '=' character
- Fixed issue with entering search mode on the last line of a file when that line is empty
0.62.0 Released
Time for another Vrapper release. Some great progress was made in the last two months fixing older defects that have been around for a while. There was also a lot of general refactoring to cleanup the code and fix certain little annoyances. Hope everyone enjoys this new release!
- Added support for 'o' and 'O' in visual block mode
- Added support for g_CTRL-G to display cursor position info
- Fixed issue where a bad regex pattern could crash a Vrapper instance
- Fixed issue where pressing DELETE in visual mode wouldn't delete
- Fixed issue when multiple possible mappings are pending
- Fixed issue with multi-page editors in ABAP Development Tools
- Fixed error when using Vrapper with Eclipse Overview plugin
- Fixed corner case where 'gv' wasn't restoring the correct selection
- Fixed corner case related to executing a mapping after Eclipse auto-completed a set of parentheses
- Refactored some code to remove hacks for drawing the cursor
- Refactored code around visual block mode
- Refactored command-line parsing so multiple spaces can appear between certain commands and their arguments
0.60.0 Released
It's been another two months so I'm releasing our current changes. Development is still moving slowly, but it's moving forward. Albertdev did a bunch of refactoring to clean up some code under the hood. The work wasn't related to any specific defect but a lot of the commands should be more stable. Here are the changes I can describe:
- Added support for 'wrapscan' setting
- We now determine certain default values based on Eclipse settings
- tabstop, expandtab, newline type, etc.
- Fixed intermittent display issue with dark themes
- Fixed issue with 'gq' counting a tab character as one column
- Massive refactoring of many line-based and :ex commands
0.58.0 Released
Development for Vrapper is slowing to a halt. We're all too busy to find the time to make enhancements anymore. I apologize to all of you who have been filing new enhancement requests which we've been ignoring. Hopefully we'll find the time to implement some of them here and there. However, Vrapper is stable and has lots of features so I'm hoping most users are happy with the current state of things.
With all that said, there were some fixes in the last couple months so I'm releasing another new version. Here are the changes:
- Fixed issue where :g command with 'normal' wouldn't return to normal mode
- Fixed issue with :g command and 'normal' inserting newlines
- Fixed issue with 'o' and 'cleanindent' at the end of a file
- Fixed issue with 'A-O' from insert mode not returning to insert mode
- Fixed issue where selecting text within a fold didn't open the fold
- Fixed issue with mouse-selections going over a fold
- Fixed display of mode and recording status when using Eclipse's dark themes
- Fixed selection highlighting when using 'c'onfirm flag for substitutions
- Fixed performance issue with search highlighting
Thank you to all the users who have used and enjoyed Vrapper throughout the years!