Javascript Vi


Few would dispute that Vi was a great text editor in its day, but no one has done anything to bring it back until now. A company called Internet Connection has developed JSVI, a clone of Vi that was written in javascript and runs inside editable text areas on virtually any browser with javascript support.

It functions identically to Vi, offering ed/ex command support, vi-keys, unicode awareness, and a number of other features available on Vi. You can see a demo of JSVI here. If you prefer to run vi on your own page, download this javascript document. JSVI is open source, and we certainly agree with [Jason Striegel] that this would make a fitting addition to any Unix blog or forum.

emacs sucks.

[via Hackzine]

21 thoughts on “Javascript Vi

  1. Real nutcases (like me!) will apreciate the vimperator, an addon for firefox that brings Vi-joy to this browser (I switched from Epiphany to firefox so I can use it!) check http://vimperator.mozdev.org/My first question was, how do I click links: well press ‘f’ (or ‘F’ to tab-open) and all links will be highlit and fitted with a number… just type the number!

  2. Made some small changes to make the colors right on every page and to hide the toolbar:— vi_orig.js 2008-05-06 21:31:01.000000000 +0200+++ vi.js 2008-07-07 11:08:39.000000000 +0200@@ -3643,6 +3643,7 @@ suggest.style.position = ‘absolute’; suggest.style.display = ‘none’;+ suggest.style.color = ‘#000000’; backing.tabIndex = -1; backing.style.position = ‘absolute’;@@ -3665,6 +3666,8 @@ tools.style.position = ‘absolute’; tools.style.right = ‘0px’; tools.style.bottom = ‘0px’;+ tools.style.color = ‘#000000’;+ tools.style.visibility = ‘hidden’; tools.innerHTML = ” + ‘<input tabindex=”-1″ type=”button” value=”B” style=”font-weight:bold;” onClick=”term_command(\’:F!b\’);” />’ + ‘<input tabindex=”-1″ type=”button” value=”I” style=”font-style:italic;” onClick=”term_command(\’:F!i\’);” />’@@ -3697,6 +3700,9 @@ term.style.cursor = ‘default’; term.style.fontFamily = ‘monospace’; term.style.fontSize = ‘100%’;+ term.style.backgroundColor = ‘#ffffff’;+ term.style.color = ‘#000000’;+ term.style.textAlign = ‘left’; _zmp(term); term._formelement = t; document.body.style.overflow = ‘hidden’;After that i added two filters to my Proxomitron:”” => “

  3. its a good start for sure, I think I’ll go ahead and add more ‘vim’ functionality to it… most notably: syntax highlighting and its function and macro capabilities.

    it’d be an interesting task, but I love javascript, very powerful when used properly.

    oh, and an all javascript os wouldn’t really work, as running kernel level calls through an interpreter would run freakin awful… but I have started work on a fully scriptable and interactive javascript shell… started using spidermonkey, but may implement using v8 instead, as a shell would do the same things repeatedly for the most part, v8’s jit-style class compiler would be great for that.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.