I've just released version 0.0.5 of Vimposter. The changes from 0.0.4 aren't that major, but one noteworthy change is the caret now toggles between block and non-block when toggling between command and other modes. This change, along with a few others, was sent in by Matt Gilbert. It's a small thing, but it's really nice to have some visual indication of what mode you're in.
Saved Thursday, March 31, 2005 at 06:09 PM
After offering a bounty for someone to improve the Vimulator plugin for jEdit and getting no takers, I've started working on it. I haven't taken the bounty off the table, but I'll be doing that shortly.
I decided not to use Vimulator as a base, as I wanted support for repeating actions and repeating motions with actions. Vimulator maps specific key sequences to actions, for example dd to delete-line and dw to delete-word. Given that, I didn't see any easy way to make it work with sequences like 2d3w (delete 3 words, twice). I've take an approach of defining two types of commands: actions and motions. A motion is a command that can either move the caret or select text and move the caret, and can be used in combination with an action. If a motion is invoked not following an action it just moves the caret. If invoked following an action that takes a motion, it selects text. For example, "d" is an action that takes a motion. By itself it does nothing, but when you enter "dw" a word is selected then deleted. Both of these commands can take counts, for example, "d2w" would select two words then delete them.
At this point, I have command mode pretty functional, though many motion commands don't work exactly as the do in vi. For example, entering the sequence "deep" to swap two words won't end up swapping them correctly because of different views on what a word is, but hopefully those types of things won't be too big a nuisance to get right. Visual mode is functional, but missing lots of action mappings. Insert mode works pretty well, and I haven't really started on ex commands. I'm still not sure how much effort I want to put into them beyond basic ":e", ":q", etc... At a minimum, I want to be able to things like "d:$" (delete to end of the buffer).
I haven't released anything yet, as Vimposter (the plugin) is still very much in flux, but it's been stable enough that I've been able to use it while developing it. If you're interested in giving it a try, I've got the code in a Darcs repository here: http://www.rutherfurd.net/jEdit/plugins/vimposter/Vimposter/. A source download is available here: http://www.rutherfurd.net/jEdit/plugins/vimposter/Vimposter.tar.gz. If you're going to try the plugin, be aware that repeating actions (using the Action Bar) and macro recording while using Vimposter won't work. Also, smart-home and smart-end don't work properly in insert mode, and there are probably plenty of other little things like that.
Feedback and patches would be welcome.
Saved Friday, March 18, 2005 at 05:52 PM
My co-worker, Pranu Bhargava has a shiny new home page to go with his shiny new blog.
Saved Friday, February 25, 2005 at 09:20 AM
My girlfriend, Andrea Prados, just started a blog. As her profile mentions, she's a Registered Nurse in a busy Washington, DC Emergency Department (aka ER). The blog, titled "ER Nurse", has been focused on nursing issues, advocacy, and the occasional quote from Marcus Aurelius. Give it a gander.
Saved Monday, February 07, 2005 at 10:07 AM
View latest entries or archive <../archive.html>