Hacker News new | past | comments | ask | show | jobs | submit login
Ymacs - An Emacs-like editor for the web (ymacs.org)
67 points by jefffoster on Nov 26, 2009 | hide | past | favorite | 16 comments



Well that's impressive stuff! Especially as it doesn't use designMode or the like.

I too have had 'fun' with text editing in browsers. And I need to revisit it at some point. :-(

Here's an experiment of mine: http://www.fluffy.co.uk/stediting/ -- very proof of concept, only left+right keyboard navigation works so far. However, it does show that proportionally spaced text is possible with this kind of technique. Using monospaced fonts, like Ymacs does, is cheating.

I was going to do make something which would sort this out once and for all: http://code.google.com/p/editable-framework-js/ but as is the way with many an open source project, it didn't get much further than thinking about the design.

I found this linked from the Ymacs site http://marijn.haverbeke.nl/codemirror/story.html which is a nice explanation about why using designMode is a nightmare.


> Using monospaced fonts, like Ymacs does, is cheating.

It was cheating, initially, but now it supports variable-width fonts as well, as you can see by selecting some other font from the menu (right-side). Of course, some serious hacks were needed. ;-)


Win32 firefox is hijacking the Control key.

Impressive web app. It's written with the author's own javascript library http://www.dynarchlib.com/ which is both beautiful and extensive.


DynarchLIB documentation seems to be quite comprehensive: http://www.dynarchlib.com/dl/index.html


On a related but completely different note, if you are looking for Emacs key bindings in Firefox, try Firemacs:

https://addons.mozilla.org/en-US/firefox/addon/4141


Another "Emacs-like editor" which misses the point. The "Emacs experience" is not about keybindings, but about an interactive and fully customizable environment. Nonetheless, great work.


It is written in JS and it looks like that JS can be edited in the editor and reloaded on the fly. That's the core of Emacs I think, being able to recode the editor on the fly.

I haven't actually tried that with YMacs so I don't know how well it would work. But I could see something like this forming the basis of an actual serious editor. The one thing I feel is missing from Emacs is a decent display engine. Of course that's not a new idea.

EDIT: I just fact checked my comment and it turns out that you can't just reload code into a running YMacs. If that were supported then I think it would be fair to call it an "Emacs like editor" or even just an "Emacs".


"Load it's own code". I guess it's my inner grammar nazi, but things like this at such a prominent position in an app make me cringe.

Surprisingly snappy and pleasant to use though. Does not work perfectly on Opera, but still more than I expected.


Nice.

However, on my Opera10.10/Linux, '(' seems to do the same as Shift-Down, and '.' deletes. Strange...


"Ymacs is an Emacs-like editor that works in your browser. Which applies, at this state of affairs, only if your browser is Firefox. It looks pretty good with other browsers, but it seems to be almost impossible to catch all the required key bindings—only Firefox allows what we need. Perhaps it can be “fixed” for other browsers, but I haven't got the time nor the motivation to try yet. "


Same here, Safari4/Mac.


I'm afraid you may need to pay close attention to the first paragraph. The one where the guy says that it only works in Firefox. By which he means "Firefox".

Given the ambition of this hack, I'm not surprised that he's not rushing to make it work cross-browser...


Ah, point taken. I guess I was too interested in the editor itself to bother reading the whole page first.


I, too, plead guilty of not reading the text before trying the demo. I mean, if there's a demo, why bother reading?

See also "Treating user myopia" on Coding Horror. http://www.codinghorror.com/blog/archives/001306.html


Isn't there any projects to build a hosted gnu emacs? Like an ajax+canvas interface and a thing a-la mod_emacs on a server side. =)


I guess I could hack something up with rxvt-js , I don't really think it would be that useful. Would you use it?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: