Hacker News new | past | comments | ask | show | jobs | submit login
Ymacs -- An Emacs-like editor for the Web (ymacs.org)
191 points by macco on Nov 2, 2010 | hide | past | favorite | 63 comments



I tried integrating this into an app I am working on, but it was just too tightly integrated within its custom UI library.

This app is truly awesome, but it is just impossible to integrate with anything. Someday I might try to fork it -- lord knows I already know enough about its internals.

(edit: sorry about the double post. I wiped the screen of my iphone immediately after hitting submit -- guess this is what happened.

Also, it would be awesome if someone made this into a bookmarklet)


Ah, so Ymacs stays true to its roots in being stuck with its own stack.


Hah, I wouldn't say you're wrong.


Much like the Borg, emacs is not integrated into applications - applications are assimilated into emacs. :-)

(An 80% emacs user myself.)


Now what I'd really like is the reverse: Webkit in an emacs buffer. That would totally rock I'd never have to leave emacs.

I wonder how hard it would be to hack something up like that?


Someone did start working on that: http://github.com/jave/emacs/tree/xembed

I'm not sure what the current status is though.


Closest I've ever come across is Conkeror (http://conkeror.org) That's using Gecko instead of WebKit but it's still a great project. It's my primary browser.


Maybe you could hack uzbl into emacs


That's called ezbl. https://github.com/haxney/ezbl

(I don't know if that's the best link; it was just the first that came up.)


I'd love for this to work universally but it looks like capturing CTRL-N (line-down) is a wontfix in chrome :( Should we lobby and open a new bug?

http://code.google.com/p/chromium/issues/detail?id=33056


works fine for me in chrome stable branch on ubuntu 32bit edit-- no i'm in 6.0.472.14 dev


I'm testing on Chrome 9.0.570.0 dev on win7 right now. CTRL-N causes a new window to open.

Curious if this is platform specific.

Can you switch to dev and let me know what results you get? If different than a new bug is warranted.


Works fine on the same version on Mac. Of course, ctrl-n normally goes down a line on a Mac.


Dear god,

If you could combine this with a Google-docs-like collaborative editing feature, I could once again enjoy a life free of word processors, where the true meaning of Meta-Shift-^ could become known to the masses.

That would rock. Just sayin'.


I felt the same way and started making my own editor:

http://vianedit.appspot.com

Unfortunately I had to make it use vi key-bindings since the emacs ones were incompatible with most browser defaults. But it's extensible like emacs, through Javascript.

Someday I'll have time to finish it.


I see that you and I think alike... http://editmole.com (also on appspot).

I'm lazy so I went with the "notepad" style editor.


Funny you should mention M-^ as that was the first command I tried that wasn't actually implemented, but given that I'm halfway done with its implementation without leaving ymacs, call me impressed.


Cool, but Ctrl-N (move down) doesn't work (it opens a new page).


Maybe it depends on which browser you're using, but in Safari 5, when the main textbox/input box has focus, C-n works for me, as well as ESC for Meta. You may want to try giving it focus first?


Strangely (ironically) Ctrl-N works fine in Safari (on Windows), but Ctrl-P brings up the "Print" dialog. In Chrome Ctrl-P works fine, but Ctrl-N brings up the "New Window" dialog.

Both work fine in Firefox.

Who said that one of the best things about developing web-apps is that the apps are cross-platform?


Hopefully it's equally broken in different ways on various browsers on OS X and Linux. ;-)


GitHub should integrate this into their site for editing files.


More generally, this should be bundled into a js plugin like disqus or uservoice. I'd guess it would make sense on a lot of sites.


This should be implemented as a bookmarklet, or more preferably a userscript.



As should SO.


Incidentally, Emacs 24 removes the dashes from the modeline, so using Ymacs is almost a bit nostalgic!


Odd, I'm using "GNU Emacs 24.0.50.1 (x86_64-apple-darwin10.2.0, NS apple-appkit-1038.25) of 2010-03-27 on gallifrey.local" and it still has the dashes on the modeline.


If you are going to use a prerelease Emacs, you should update it more frequently than every 7 months! (This particular change is from about two weeks ago.)


In my defense: it's a very stable prerelease copy.


The problem is I need an emacs/vim/TextMate style editor for the iPad usable in the airplane. I really wish TextMate would become available on iOS.


And really, do you want to be pressing multiple keys at the same time like you would for emacs hot keys on an iPad? I'm not an avid user, but those motions seem incredibly unnatural.

C-X, C-S to save? and that's just the beginning.

vim suffers similarly, though probably not to the same extent. An editor that takes advantage of the iPad's touch screen would be superior, imo


Not necessarily an emacs editor. I love the GUI of TextMate, but a lot of what makes TextMate usable is its bundles, which definitely won't be allowed by Apple.

All I would like is a reasonably good text editor with a project drawer and syntax highlighting. Preferably something that can integrate with git.

Maybe I am dreaming. I love just being able to read code, not necessarily type it on the iPad, since I do review existing open source projects (such as picking open gems and learning about them) or review source code changes from git.

MBA is nice, but you still need to pull the seat tray down. The iPad lets me read code like a magazine. And it fits on the elliptical for working out.

So yes, call me foolish for wanting to do this on the iPad, but I just love its form factor!


its called a netbook.


Apple doesn't make netbooks. Textmate only runs on Macs.


But emacs and vim don't.


I really wish this were rolled into github.


Next, web-based vim please!



Many keys appear to be trapped in the browser making it impossible to use on Mac Safari. It would be cool if someone worked on a fully-fledged environment, worked out all the issues, and somehow integrated it with an existing infrastructure like Amazon S3 or packaged and distributed a client with a sandbox server side.


Nice effort but scrolling with Ctrl+E doesn't work and diw puts me into insert mode and then deletes the entire line. I gave up after about 15 seconds.


I switched to Git actually for my newer projects. Expect Ymacs at http://github.com/mishoo sometime next weekend.


It would be nice if the code could end up in github. Also, more importantly, I need to disable that cursor blinking (peripheral blinky things make me feel like dying).


I worked on this (my own version) for awhile and I got the basics working pretty quickly, but I just wasn't happy writing in JS, I really wanted it to be written in Lisp, but I couldn't find a JS version of Lisp that was good enough, and I didn't have the time to make one myself.

I'm glad to see this and I'm sure I'll enjoy using it. It would be nice to have the ability to create accounts and store in the cloud so I can access my code from anywhere.


This is something I've wanted to make, I'll be reading through the source to work on my Javascript knowledge. Now I need a Chrome plugin to make every text entry box work like this (Edit With Emacs didn't do it for me last time I tried, I habitually type C-x s and that was closing my buffer and returning to the browser).


You can rebind keys to do different things in Emacs, and make Edit With Emacs behave any way you want.


Super Dee Duper!

I cracked myself up when trying C-M-q using the Command (clover) key on my mac, which of course was seen as CMD-Q by the browser, which for you non OS X folks means QUIT.


I tried it wondering if it would quit the browser, but it didn't. (I'm using Firefox)


First thing I tired as well using Chrome. A little disappointing but you cant have it all.


Aw, FF + Vimperator = no go. lol

Neat app. I'm a total emacs nut.


Control+z will enter Vimperator pass-through mode and the site will work. Just hit escape to exit pass-through.


But escape is Meta! :{


You can map escape to something else in Vimperator.


Give me ^[ or give me :q!


Funny that this doesn't work even a little bit with Conkeror (Web browser with emacs keybindings). Pretty sweet otherwise.


To be fair, that's more a Conkeror problem than a ymacs problem. We're sort of trying to bang the square peg of the web into the round hole of keyboard based control. It often leads to gross hacks like all the page modes we have, which are equivalent to Major modes that you could only use on one or maybe two files in emacs.


Actually, if you use quote mode (enabled by C-M-q by default) it works great!


My first thought was "Whymacs?" but this is actually pretty cool. Shame I've never gotten around to learning emacs.


Great initiative. Get Ctrl-C Ctrl-E to work and I'll be even more happy :)


this is polished! salesforce should use this for the Apex platform.


Totally agreed. This would be great for Apex or any other place where you want a web based portal to your cloud based code.

Very cool!


It doesn't work too well on non-US keyboards. For instance I can't type @ (Alt-gr/Right-alt 2), $ (Alt-gr 4) or any of the following: {[]} (alt-gr 7-0). Welcome to Norwegian keyboard layout btw.

I'm guessing it might the browser blocking what it assumes is control keys, but it might also be the app not looking for those specific modifier-key combinations.

Looking at the wikipedia-page for keyboard layouts, it seems Norway is not alone when it comes to requiring modifier-keys to be able to type standard "programming" characters:

http://en.wikipedia.org/wiki/Keyboard_layout#Norwegian

If these things can't be done in browser, I'm guessing all those awesome, envisioned browser & cloud IDEs wont be that big a hit outside english-speaking countries.


It's the same for French AZERTY keyboards. If you are programming, just remap you keyboard to normal QWERTY, that way easier then.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: