81 comments

[ 3.6 ms ] story [ 168 ms ] thread
(comment deleted)
Aah MIT nerds. Pretty cool though - any plans for Github support?
There already is Github support
Sorry should have been more clear. I meant for saving back a commit after opening from Github
Any documentation on the restrictions? Commands like :set nu to display line numbers are not available...
Not at the moment. It supports most of the standard unix vi commands but not the enhanced vim ones as of yet.
Ability to edit files off Box / DropBox is a big plus. Is there a mailing list or something like that (some RSS feed for a development blog) where I will be able to see when updates are made? I would like to start using this as soon as features like vertical column selection / yanking and pasting as well as line numbers are put in (the nature of the files I have on DropBox call for those features :|)
Strike this. My bad.

(Original: First thing I tried: dG to delete everything, didn't work. So, it still needs improvement. Now, I'll admin I'm not 100% sure if G is a vim command or a vi one.)

dG works for me
Hah, I just realised what caused it. I have one of those vim-browser plugins and it apparently caught some of my keypresses and didn't pass them on.

Sorry about that, it's definitely cool.

I'm having trouble with this too.. Deleting everything causes

    file[cursory+base]; 
to return undefined, and any calls to it e.g. as xx..

    2171
    _calcy(gg, xx.substr(zleft, xx.length-zleft), xg.substr(zleft, xg.length-zleft));
Will give errors.

    Uncaught TypeError: Cannot read property 'length' of undefined 
Chrome 19.0.1084.56 on Windows.

If I leave the first line alone, it appears to work great!

Thank you for this. Many people will remember early browsers were also editors; Mosaic and Nexus (or confusingly WorldWideWeb as its earlier name) both had document editing features.
Yum. Though the biggest thing I liked about this was learning about the service 'filepicker'. Smart integration.
Thanks! Filepicker was a joy to use and really made this
(comment deleted)
Slight issue: counts do not work in combination with insertion commands. (in other words, you can't use 5i to have something inserted 5 times, or for a more useful example you cannot use 5o or 5O)

It's an easy to overlook, for a long time BusyBox's vi didn't like combining counts with o/O either.

As well, non of the screen movement commands and some miscellaneous commands aren't working. It really took out almost all of the flow I have when I'm editing files.

Vi commands: ^D ^E ^B . J and probably more that I haven't tried.

Possibly Vim commands: * #

U is functioning completely incorrectly. Try dd, U on line 3 in the example.

It also wasn't allowing me to hit <ESC> (OSX 10.6, Chrome 19)

(All this isn't Filepicker's fault. It's whomever's that wrote the choppy JS version of Vi. But if you want to show off Vi in the browser, you can't make me feel like a broken machine when I try to use it.)

Also, some yanking commands don't work: yiw, yaw (it goes into insert mode)
Cool. Emacs fans wanting their fix in the browser can checkout ymacs:

http://www.ymacs.org/demo/

Does ymacs open files from Dropbox yet? Github, if you're reading this please make both vi and emacs interfaces available through your web ui :)
Can I embed this as an iframe?
I haven't tried it, but feel free to use it if it works. It's open source.
Finally, I've been waiting for this for ages.
Cool! You should add ctrl+c mapping to <ESC>. Thats how I switch out of modes so that I don't move my left hand out of position.
I'm not sure it would be such a good idea to implement a hodgepodge of random peoples' mappings.
> I'm not sure it would be such a good idea to implement a hodgepodge of random peoples' mappings.

Ctrl-C is not a (user-defined) mapping. It will leave insert mode, but will not trigger things like abbreviations and autocommands (in Vim), so it's not a good idea to use it over Ctrl-[ (which is supported) or <esc>.

Ah, right. Thanks for clarifying.
Re map your caps lock to esc. How often do you use that stupid button anyways?
I would miss caps lock. As soon as I see >2 upper-case letters in a row, I use it. I don't know how people bother to type long acronyms and other words in caps without it.
Pretty darn nifty, but vim stuff like 'ciw' doesn't work, and also 'C' leaves you in an insert state where your next keystrokes are entered just before the last letter in the line, rather than after the last letter in the line.
Yeah that was literally the first thing I tried, and I was disappointed it didn't exist.
I just fixed C. ciw doesn't work since I've only implemented vim stuff for now but I may slowly add in vim features if there is demand for them
Oh well, if you're fixing them, I've a couple more issues:

'^' goes to the first character in the line, not the first non-whitespace character

'o' is not undoable using 'u' (those most other things are, strangely)

Thanks!

Thomas... don't you have a startup to be working on? :)
This looks really cool. Any plans on sharing/open sourcing the code and going through the process of how you built it?
It already is open sourced but I do plan on writing a blog post about it sometime in the future
Nice, I'm not a developer, but I could find myself using this a lot.
This conflicts with my pentadactyl plugin haha!
This appears to be completely static, which is awesome (no server-side required for oAuth thanks to filepicker.io?)
It is completely static. I can do everything purely from javascript using filepicker.io to do all the I/O
Here's what I really, really, want:

$('textarea').vim()

(comment deleted)
Decent, but really the context shift is too intrusive for everyday use. I use vim on command-line (with set -o vi), so it's not like a regular textarea is too small for it to be useful either.

EDIT: Deleted parent link was http://gpl.internetconnection.net/vi/

"JSVim provides Vim in any textarea"

http://ostatic.com/jsvim

so, the links provided on that page don't work. There's a sourceforge project by that name, with some ancient code that won't work in Chrome... do you have a link to a version / repo of that that works in modern browsers?
You can get something similar to that with the Firefox vimperator plugin. Press ctrl-I in a textarea and a vim pops up. When you close it the text gets copied back. I use it a lot!
that is one of the best things in pentadactyl as well. unfortunately it still tries to use gvim for me. but this can surely be changed somehow.
set editor=(command line here), if you were curious. I've found you can easily check if an option for something exists by using :set and its nice autocompletion.
Why I can't use this:

"This app will have access to your entire Dropbox."

Which still happens with pretty much every Dropbox app, despite fine-grained permissions many months ago. Dropbox, love the app, but the company needs a strong developer relations programme to get messages like this out.

Is there any other way to get an arbitrary file from your dropbox into a text editor?
https://www.dropbox.com/developers/announcements/11

"We've introduced App folders: app-specific folders that Dropbox will automatically create and keep track of, even when users move or rename them."

I assume that means a fine-grained folder instead of the scary "entire Dropbox" situation. It was introduced on 8 months ago, but there's little detail on it.

but this would mean you wouldn't be able to share work from say an iPad app to this one, which to me is kind of a hassle if I couldn't
Funny story, the early version of Heroku was an in-browser editor, roundabout October '07. They're vim guys - but it didn't feel much like vim.
(comment deleted)
I always get confused when I run apps like this and they don't work initially. If you use Vimium, press i when this starts up.