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.
News
0.20.0 Released
I let the code sit idle for two weeks and no defects were filed. Therefore, I'm releasing Vrapper version 0.20.0 as promised. Rather than listing the changes since 0.18.0, I'll let you look at the previous three news posts where I listed them as they were introduced.
For anyone using the unstable update site, version 0.19.20120428 is the same as 0.20.0.
Thanks to all the contributors and users of Vrapper! According to the statistics on Eclipse's Marketplace, Vrapper is the #1 vim plugin for Eclipse! http://marketplace.eclipse.org/metrics/installs
As of this writing, Vrapper is #56 out of the 1,340 total plugins installable from Eclipse Marketplace. Emacs+ is #46 but I won't take that personally. There is of course the caveat that this only tracks installs through Eclipse Marketplace. This means I have no idea how we rank compared to eclim since they use their own installer.
0.20.0 Release Candidate
Things have been pretty slow lately and I'm running out of defects/feature requests I'm able to work on. That's typically a sign that we should be able to release soon. I've updated the unstable update site with version 0.19.20120428. I'm considering this a Release Candidate. If this version can go 2 weeks without any major issues found, I'll consider it stable.
There are only a few differences between this unstable version and the previous one:
- Prevent pageUp/pageDown from being stored in the '.' register
- Add support for '~' in VisualMode
- Add support for operations (yank, delete) on line ranges in CommandMode
- :3,5d
- :3,5y
- :.,$y
- :.+3,$-2y
- Add support for i_Ctrl-w
- Delete previous word while in InsertMode
- You'll need to unbind Ctrl+W in Eclipse before this feature will work
More updates to Unstable update site
I've updated the unstable update site again. I'm mostly just posting here so I can keep track of the changes since 0.18.0. If people are actually playing with the unstable update site and want to know what to test, well, that'd just be an added bonus!
- Implemented [{, [(, ]}, and ])
- Similar to '%' except the cursor doesn't need to be on the matching parenthesis/bracket
- Add support for Ctrl+R while in InsertMode
- Pastes contents of a register without leaving Insert Mode
- see :help i_ctrl-r
- If you have Ctrl+R mapped in Eclipse, you'll need to unbind it for this feature to work
- Add support for Ctrl+A while in InsertMode
- Similar to Ctrl+R, but it pastes the previous insert register without prompting the user
- see :help i_ctrl-a
- You'll need to unbind Ctrl+A in Eclipse before this feature will work
- Add support for Ctrl+Y/Ctrl+E while in InsertMode
- Inserts the character above/below the cursor without leaving InsertMode
- see :help i_ctrl-e
- You'll need to unbind Ctrl+E/Ctrl+Y in Eclipse before this feature will work
- This feature has some quirks. Vrapper doesn't always know which column the cursor is in so it could grab the wrong character. If this happens to you, do a little 'hjkl' movement and Vrapper will figure out the column.
- Added support for _vrapperrc for Windows people who have difficulty creating the .vrapperrc file
- Fixed defect when opening files while Vrapper is disabled
Please file issues on our GitHub project if you run into any problems. I'm hoping we can consider these feature "stable" as soon as possible.
Current state of the Unstable update site
We released 0.18.0 less than two months ago and there are already plenty of changes happening on our unstable update site. I'm not sure how long I want to wait before releasing 0.20.0. I don't have any huge changes pending so it might be pretty soon. For anyone playing with the unstable update site, here are the changes since 0.18.0:
- Added '|' (pipe) command to move to column
- Added '@@' command to redo last macro
- Added "_ the blackhole register
- Added ability to check value of boolean settings with :set <property>?
- Modifying search settings (e.g. noic, hlsearch) will now modify current search
- Display 'recording' while recording a macro
- Fixed issue where vw"ap would overwrite the contents of the 'a' register
- Fixed issue with multi-character mappings in files with Windows line-endings (^M)
- Fixed issue with :9999 when last line of file is empty
Thanks to all the contributors for constantly improving Vrapper!
What I'd like to see in Vrapper 0.20.0
Vrapper 0.18.0 is out, time to start looking towards the next release. Of the defects/feature requests already filed, here's what I'd like to see in the next Vrapper release (0.20.0):
- #95 imap ,e <ESC> works but cannot use comma anymore.
- #386 Add support for '@@' to repeat last macro
- #387 Replacing in Visual mode overwrites active register
- #34 Incorrect cursor position after mouse select
- #27 Repeating last visual-mode substitute is incomplete
I'm sure more will be filed as we work, but those are the items I'm looking at right now.
0.18.0 Released
I let the unstable update site sit for 2 weeks and everything looks good. That most recent unstable build has now been pushed to the stable update site. Yay! Another release!
Here are the changes since 0.16.0:
- Added :wa[ll] command to write all dirty editors
- Fixed logic on deleting/yanking last line of a file
- Fixed cursor location on yank
- Removed "moveonyank" setting as it is now irrelevant
- Search results can now be used as text motions
- c/<pattern>, d/<pattern>, y/<pattern>, v/<pattern>
- Move into VisualMode on mouse select
- You can disable this by setting the 'visualmouse' option to 'false' (true by default)
- Fixed cursor location when pasting
- p, P, gp, gP
- Added 'za' operation for toggling fold open/close
- Added <TAB> as a bindable key
- Added <C-c> key binding to mimic <ESC>
- Only works if you unbind <C-c> in Eclipse first
- Added key binding for 'z<CR>' (same operation as 'zt')
- Added configurable option 'imdisable' to disable Input Method when exiting insert mode (useful on Japanese keyboards)
- Added optional vrapper plugins (for CDT, JDT, Surround.vim)
- Fix bug #97 PageUp/PageDown don't work in visual mode
- Fix bug #79 'cw' for single character changes include next word
- Fix bug #70 'dw' on the last word of a line will join lines
- Fix bug #98 Uninstalling vrapper + ADT and now I can't quit Eclipse
Another Update
I had every intention of releasing 0.18.0 this week but instead I ended up fixing another couple defects. I have updated the unstable update site yet again. This version contains two fixes since the last update:
- Fixed defect with 'c2w' command
- Implemented counts for the new v/ feature (v3/{search})
I don't think there are any other defects that should hold up a release. I'll give this current build 2 weeks before I declare it to be the stable release 0.18.0.
Another Release Candidate (0.18.0)
We've made a couple fixes so I've updated the unstable update site. Changes include:
- :{line number} was broken in the last Release Candidate, fixed
- 'ctx' where 'x' not found was broken in last Release Candidate, fixed
- Fixed logic when deleting/yanking last line of a file
- Implemented :wa[ll] command to write all dirty editors
- Fixed cursor location on yank. At least I think we did. Vim isn't always consistent on when to move the cursor and when not to but I think we match vim's behavior now. I've removed the 'moveonyank' setting from vrapper with this fix because it is no longer relevant. Rather than an all-or-nothing setting to move the cursor or not, we now sometimes move the cursor to match vim's behavior.
0.18.0 Release Candidate
The Unstable update site has been updated with the latest version of the code (0.17.20111111). I would like to think of this version as the Release Candidate for the next Vrapper release (0.18.0). Thanks to the help of many contributors I think we have plenty of defect fixes and new features that everyone will enjoy. Please play with this unstable version and see if there are any changes you think we should make before calling it stable.
For those of you keeping track, here are the differences between version 0.16.0 and this Release Candidate:
- Search results can now be used as text motions
- c/<pattern>, d/<pattern>, y/<pattern>, v/<pattern>
- Move into VisualMode on mouse select
- You can disable this by setting the 'visualmouse' option to 'false' (true by default)
- Fixed cursor location when pasting
- p, P, gp, gP
- Added 'za' operation for toggling fold open/close
- Added <TAB> as a bindable key
- Added <C-c> key binding to mimic <ESC>
- Only works if you unbind <C-c> in Eclipse first
- Added key binding for 'z<CR>' (same operation as 'zt')
- Added configurable option 'imdisable' to disable Input Method when exiting insert mode (useful on Japanese keyboards)
- Added optional vrapper plugins (for CDT, JDT, Surround.vim)
- Fix bug #97 PageUp/PageDown don't work in visual mode
- Fix bug #79 'cw' for single character changes include next word
- Fix bug #70 'dw' on the last word of a line will join lines
- Fix bug #98 Uninstalling vrapper + ADT and now I can't quit Eclipse
What I'd like to see in Vrapper 0.18.0
The last version of Vrapper took over a year to be released. I'd like to make sure that doesn't happen again. Of course, I also don't want to release a new version with too few modifications from the previous version. I decided to look at the current list of defects and see which ones I feel are the highest priority (or provide the largest benefit). This of course is very selfish because I'm selecting the defects I've personally run into or new features I would personally use. With that said, this is an open source project. If anyone contributes code to fix some other defect or implement some other feature I certainly won't reject it.
If we could fix the following defects, I think it would be significant enough to be the next release:
- #70 'dw' on the last word of a line will join lines
- #73 % text movement operator doesn't work in visual mode.
- #79 cw for single characters changes include next word
- #81 need d/
please - #97 PageUp/PageDown don't work in visual mode
In addition to those defects, I'd love to fit in these stretch goals. I think we're at the point where these should be feasible.
- #50 Search and replace support
- #59 blockwise-visual missing
- #82 Pasting a search string using the keyboard doesn't work
We're always willing to accept code contributions. If you can come up with a solution for any of the defects listed above, simply initiate a Pull Request on our GitHub project to submit your code.
Testing Help Needed
The unstable update site has been updated to include some optional plugins. These plugins add some language-specific commands for Java and C/C++. We didn't release them as part of 0.16.0 because they haven't been fully tested. We would appreciate it if some of you Java or C/C++ developers out there installed these optional plugins and played with them a bit. Let us know how it goes.
Both the JDT and CDT plugins provide the following commands for their respective languages:
- Toggle comment (gc<movement>)
- Go to declaration (CTRL+])
- Auto-indent (== for current line or =<movement>)
The JDT plugin also has the following shortcuts:
- Rename element (gR)
- 'Refactor' Menu (gr)
- 'Source' Menu (gm)
In addition to those plugins, we implemented a port of a useful vim script called 'surround.vim' (from http://www.vim.org/scripts/script.php?script_id=1697). It isn't a complete port but it's a start.
The Surround plugin works on the 'c', 'd', and 'y' commands. After initiating one of those commands hit 's' followed by one of the following characters:
- a < >
- b ( )
- B { }
- [ ]
- '
- "
- `
For the 'c' command you'll have to select the character that represents what the text is currently surrounded by then the character you want to replace it with. For example, cs"( would replace the surrounding double-quotes with parentheses.
0.16.0 released
Version 0.16.0 has been released. It is not a major release in terms of functionality but it is an attempt to keep the project moving forward. Changes are:
- Added incremental search (:set incsearch)
- Added highlight search (:set hlsearch)
- Added line number toggle (:set number)
- Added show whitespace toggle (:set list)
- Added scrolljump and scrolloff options (:set scrolljump=10 :set scrolloff=10)
- Added commands for lenient word search (g* and g#)
- Center the line after jumping to a line that was far away from the viewport
- Ctrl-V in search/command-line mode pastes text from the clipboard
We're not quite dead
The last release of vrapper may have been over a year ago but this project is not dead. A new version of vrapper will be released soon and this project will hopefully become a little more active in the future.
The purpose of this post was mostly just to make sure I knew how to update the main page. :)
0.14.0 released
Version 0.14.0 has been released. Changes are:
- Corrected line-wise visual mode behaviour on empty lines.
- Yanking text objects moves the cursor on the start of the text object. Use ":set nomoveonyank" for old behaviour.
- Toggling Vrapper enables/disables Vim-emulation for all open editors.
- Visual mode operations may be repeated using the dot command.
- Pasting over selections in visual mode is possible.
- Join lines positions the cursor between the joined parts.
- Added paragraph motions and text objects.
- Bound ctrl-u and ctrl-d to Eclipse actions page-up and page-down.
- Fixed zz command to work correctly with folded sections and added z., zb, zt, z- commands.
- gt and gT behave more like in Vim.
- Pressing caps lock or alt is not interpreted as keystroke anymore, so caps lock and alt can be used in command line mode to input caps and special characters.
0.12.0 released
Version 0.12.0 has been released. Changes are:
- lots of new text objects
- it is now possible to switch from character to linewise visual mode and vice versa by using V and v
- added 'selection' option to control selection behaviour during visual mode
- boolean options can now be toggled (e.g. "set ignorecase!")
- lots of minor bugfixes and improvements
