Thanks,
Steve.
In my mind's eye, vi emulation should be fairly easy to write, and I've
been tempted to do that on several occassions. The biggest hurdle is
just the amount of grunt work involved -- redefining all key bindings to
whatever makes sense for vi and re-implementing the most common
commands. Managing the insert-vs-command mode seems trivial -- just
define bindtags for each mode, set appropriate bindings on those tags
(rather than on Text or on the widget itself), and the swap the bindtags
whenever the user presses <esc>.
For a long time now I've wanted to write a megawidget that lets you
toggle between emacs-like behavior and vi-like behavior. That should
cover about 90% of the world's population of geeks. Alas, it's way down
on my priority list. I think it's doable, but would likely take several
days of coding.
How about trying Peter DeJijk's interface SW and just write the spec
and get others to do the coding? Here is some comments on his SW:
http://groups.google.com/groups?dq=&hl=en&lr=&ie=UTF-8&threadm=3dd53009%40news.uia.ac.be&prev=/groups%3Fdq%3D%26num%3D25%26hl%3Den%26lr%3D%26ie%3DUTF-8%26group%3Dcomp.lang.tcl%26start%3D50
thanks,
art