Wasavi – a browser extension that transforms TEXTAREA elements into a VI editor
appsweets.net
appsweets.net
See http://jblevins.org/log/kbd for further detail.
Using the pre-defined emacs keybindings has the disadvantage that they override the normal (CUA), which is sometimes inconvenient (especially since AFAIK gtk doesn't allow you to use multiple-chord keybindings, so for example, C-x h is out). You can go around this by copying /usr/share/themes/Emacs/gtk-3.0/gtk-keys.css to (say) ~/.themes/my-new-theme/ and /usr/share/themes/Emacs/gtk-2.0-key/gtkrc into your ~/.gtkrc-2.0 and replacing all occurrences of <ctrl> with (say) <super> or <hyper>. For gtk-3 you then also need to run gsettings set org.gnome.desktop.interface gtk-key-theme "my-new-theme"
[1] http://askubuntu.com/questions/124815/how-do-i-enable-emacs-...
map <C-f> a
map! <C-f> <Esc>
It's not fancy, but it lets me toggle between Insert and Normal in a useful enough way.
One unfortunate thing is that being in Wasavi mode won't get your auto-save in Gmail, etc. I made that mistake once months ago and disabled it there ever since.
Very impressed by this software.
Unfortunately, many web apps assume the CUI bindings. Having to paste via Ctrl+V when you have remapped the paste hotkey everywhere is merely a nuisance. Not being able to use other webapp shortcuts because they are not defined in CUI but are taken in vim / emacs mode can be a show-stopper. (This is why I limited myself to remapping copy and paste only.)
Coming up next, Edlin plugins
With some going even beyond that. If i use ctrl-pgup/pgdn while browsing G+, the press will both swith tabs and bump the G+ page up or down.
And over at Youtube, hitting home will set the video back to zero if it has "focus". And i have this habit of using home to get to the top of the page after scrolling down to read comments (yep, i hate myself).
Edit: in some instances, it's incredibly useful. For example it makes some cases of gmail more usable/enjoyable than via Firefox. I get all the power of vi and full access to my running system, so I can easily inline code segments or log files into my messages, and not lose editor focus if I bump the mouse, etc :P
Edit: tested Emacs/elinks, and it works if the TERM is changed from eterm-color to vt100. Hooray for text and Unix.
I used Emacs for 20 years and while I've strayed away from it (got interested in Vim), I'm slowly making my way back. Not for the Emacs keybindings (which are fine), but for the entire elisp ecosystem. So in a way the OP's imaginings are not so far off (although I don't think you can actually run vim inside emacs -- you will need to use Evil mode instead ;-) ).
So:
NetBSD$ env EDITOR=vi emacs
(M-x term)
Emacs$ env TERM=vt100 elinks news.ycombinator.com
(go to text area, start editing, ^T, and up pops (n)vi)I'm a long-time Emacs user as well, but have found myself on vi for last few years, initially as a refresher. There's definitely still a place in my heart for Emacs, though. I think your characterization of Emacs is also fair; I usually describe it as a Lisp VM.
Edit: formatting for clarity(?)
I never quite got the people who run Emacs in screen/tmux; emacs can already do that!
You could also run emacs inside something like dtach or abduco [1], which are a "session managers" like screen or tmux but without the multiplexer.
If you run `emacsclient -a ''` then it will automatically run `emacs --daemon` for you (if it isn't already running), so that you don't need to run it up-front.
I'm reluctant to give access to all data I type in input boxes to a developer I'm not familiar with. While they claim it works only on textarea elements, what's stopping them from reading other input elements, including username / password fields? It seems like an awfully convenient credential collector.
[1] https://addons.mozilla.org/en-us/firefox/addon/its-all-text/
But it has search and replace.