Vim-like keyboard input in all text fields in all programs

So, I'm addicted to vim and often add lots of garbage to regular text fields when I try to use vim commands and am not in vim. I thought to myself, why can't vim be EVERYWHERE?!

Then it struck me. Why not? Has anyone written a program that could redirect input/current text fields into a vim buffer so that one could use vim-style editing in things other than terminals and gVim? Redirect keyboard input? Alter a key-logger?

Any thougts as to how it could be done?$wdw thoughtsA I did it again. I need serious help. Ideas, anyone?

UPDATE: More in need. I just got an email with this as the tail end of it:

Campus librarians will be happy to work with faculty and students to identify alternative high-quality sources of scientific news reporting and analysis.

--Karen
:r signature

Its nice to know there are others.


Solution 1:

I use vi-style editing in bash and vimperator for web browsing with firefox (sadly doesn't have :vsplit). In firefox the fantastic It's All Text! plugin configured to use gvim makes input boxes (likes this one) less crappy. mutt picks up my $EDITOR without problems (tell Karen to set that variable, too).

I guess that's all I ever do outside of vim.

Solution 2:

I've not seen anything to allow this, but it sounds like it could be handled by writing a module to plug into an IM such as SCIM or IBus.