Vim.js - JavaScript port of Vim
coolwanglu.github.io
coolwanglu.github.io
http://www.codinghorror.com/blog/2007/07/the-principle-of-le...
And tlrobinson's Law (or corollary?): Any submission to Hacker News about a novel JavaScript program will contain a comment referencing Atwood's Law.
http://www.emacswiki.org/emacs-fr/Ejacs
Ejacs is an Ecma-262 compliant JavaScript interpreter written entirely in Emacs Lisp. It should work in GNU Emacs versions 22 and higher.
;-)
inoremap jj <Esc>`^
Backspace ended up triggering the browser's back action though. Other than that, this is really nice.Edit: After looking at the source, this seems to make use of emscripten to reuse Vim's existing source code. This really makes me wonder what other cool things we can bring over to the client side.
(I'm a little surprised by this because I've seen so many complaints about it leading to data loss.)
The reasoning behind it is pretty smart too, because numerous times backspace can result in the loss of data, like when you're filling up a form and you hit backspace outside of a text box.
(I'm a little surprised by this because I thought all browsers used backspace for back)
Hmm, actually it seems all the motions I tried didn't work :-(
http://vimdoc.sourceforge.net/htmldoc/motion.html#word-motio...
Once you try Vim, it's really hard to go back. I also tried using mutt instead of GMail, and while it gets me 90% of the way there, the lack of graphical preview of attachments and things like filters and HelloSign make GMails web interface more useful.
I use "It's all text!" in Firefox for this purpose and it works well; the workflow is pretty simple: focus in textarea, hotkey to switch to vim, save & close buffer to switch back to the browser. (not affiliated, just a user).
You do of course lose rich text formatting.
Backspace and ESC not working, so after I enter a mode I'm stuck in it forever.
Edit: And it’s _written_ in JS, not ported.
Cool nonetheless.
Lu mentioned[2] on vim_dev that it was necessary to write a hack for this portion.
[1] https://github.com/coolwanglu/vim.js/blob/master/web/vim_lib...
[2] https://groups.google.com/forum/#!topic/vim_dev/AQTHbUHijgg
Just need we need now is syntax highlighting and color torte :P
Fantastic work!
This one is Spidermonkey compiled with Emscripten: https://github.com/jterrace/js.js/
And this one is a test-bed for new JS language features (or at least meant to be - don't know how far along it is): https://github.com/mozilla/narcissus
One idea could be to bundle it with haste[1] or similar.
Not really sure how it all works, I only took a quick look.
Still good job!