On Sat, Mar 06, 2010 at 04:23:37PM +0000, Vegard Øye wrote:
I have rebound it to C-c C-o in changeset [126]. This key sequence is normally unbound, but if it isn't, it's left alone.
Yeah, that's quite reasonable.
I have written a custom extension for myself which rebinds the word movement keys in Emacs Lisp modes. dw deletes to the end of a S-expression, daw (and dae) deletes the whole expression, w and b jump to the beginning of every expression about point, e jumps to the end. The large-letter equivalents W, B and E respect nesting. gj goes down an expression level, gk goes up a level, gl moves out of the current expression by its right side and gh moves into an expression by its right side. cx and cX transpose S-expressions. There are also commands for splitting the line about point or after the S-expression following point, but I haven't settled on a definite keybinding scheme yet.
There are a lot of rough edges and the code is ugly as sin, but it does the job for my day-to-day coding. E-mail me if you want it.
Thanks; I think I'll wait -- I'm actually quite satisfied with the current possibilities (Emacs native sexp handling + Paredit and occasionally the example stuff from pre-merge vimpulse-modal). Nice to hear you're working on something like that (and planning on sharing it), though.
I'd like to release it at some point, but the change/delete/yank code of Viper/Vimpulse needs some serious rewriting first. Viper inherits this part from vip (an earlier emulation package), and it is very convoluted and inflexible, partly contributing to my extension's ugliness. Michael Kifer, Viper's author, acknowledges the problem and outlines a better scheme in Viper's code comments. Fixing this will tie up a lot of loose ends, and will probably be the main goal of the next release.
Hm... do you mean you're going to (try to) improve Viper itself? Sounds great, good luck (I'm serious)! Štěpán