Hacker News new | past | comments | ask | show | jobs | submit login
There are many things you can say about Emacs... (pyside.blogspot.com)
23 points by iamelgringo on Feb 18, 2008 | hide | past | favorite | 35 comments



I have always been surprised why TextMate rather than Emacs has got all of the mindshare in Rails developer community.

'emacs-rails' mode had the same rails-specific navigation, snippet-expansion etc. features two years ago and has improved greatly since then. (See screencast: http://emacsonrails.drozdov.net for example)

I've tried to follow the crowd initially and to learn TextMate, but then... why learning new set of keystrokes? And why reimplementing a fraction of editing modes that emacs has available? When you can have... So I went back, but I am still puzzled by majority of Rails programmers choosing to support TextMate. Matz uses emacs after all...


"I am still puzzled by majority of Rails programmers choosing to support TextMate. " -- mainly b/c most of them are noobs. (seriously). A huge amount of Rails dev. are young, and just started programming, and to them emacs is just arcane old stuff, while textmate is much more accessible, and I actually agree with that.

Just trying to download emacs is a pain, hidden in between ugly pages, while look textmate's webpage is much more shiny, and accessible. Plus people nowdays hate to have to jump thru config loops, and learn arcane old keyboard shortcuts just to get started.

So, darwinian process is going on, and the new, simple, and nimble, is replacing the old and arcane.


The main reason I avoided Textmate is because its Mac specific - in my day job a Mac is not an option ... If I was going to invest the time in learning more advanced features of an editor, I wanted to be able to use it everywhere!


DHH used TextMate in the famous "build a blog in 5 minutes" video that was many people's first introduction to Rails. I'm guessing it was also many people's first introduction to an editor that had real power.


Guilty as charged.

Anyone know of a good Rails editor for Windows? I like the eclipse-based RadRails, but I heard they stopped supporting and updating it. I don't care about tons of IDE features, just would like something simple and shiny. I tried the NetBeans Rails editor and hated it.


Emacs, of course.


I will give it a try tonight!


If you try it and find yourself tearing your hair out in enormous handfuls, do get somebody to give you a demo before you give up. Emacs is my favorite piece of software ever, but it does take some getting used to, and some practice.

My inner emacs evangelist will haunt me for saying this, but there's a supposed TextMate clone, which I believe is called "E", that the local Ruby guys were talking about. I don't know if it's really any good, and I don't know if it's for Windows or just Linux.


Yes, emacs is something to marry, not spend a night with:-) You'll love it more and more as the years pass and you continue to discover new aspects of it that continue to surprise and delight you.


The website is http://www.e-texteditor.com/. I haven't tried it.


It is possible to make emacs newbie friendly. For instance, theres CUA mode, which uses standard Windows hotkeys. Maybe there should be a newbie emacs which starts out with Windows/Mac emulation variables set.


I think TextMate's Rails mode came before emacs-rails and inspired it. That's probably part of the reason. Another part is that TextMate behaves much more like a Mac app, and Rails was started by Mac users. So it's partly history, partly momentum.

I also tried TextMate, and do still use it for some things (I like the personal text wiki extension, which I hacked a bit to use MediaWiki syntax), but found myself programming back in Emacs in short order. TextMate's extension mechanism is incredibly obtuse compared to elisp (the Lisp-intolerant claim this is a strength, but just try making sense of how to customize a non-trivial TextMate mode and see how far you get). Running external scripts just to do basic things seems pretty inefficient to me. Also, its UI needs lots and lots of work. The inability to simultaneously look at two buffers in one project is a deal killer for me. I'm sure it'll improve in the next version.

Back on topic: native Unicode in Emacs 23 sounds great. So now, after only a few months of running the released version of 22, I guess I'll be back to running Emacs out of CVS. :)


You can do a lot of emac commands in textmate...

Do a ctrl+s for example


Yes, but ctrl-r runs "Execute Line Inserting Result", which generally causes a brief pause followed by the spewing of some complete gibberish. That bit me approximately ten thousand million times when I switched to TextMate from emacs.

The TextMate equivalent of ctrl-r is ctrl-shift-S. But it somehow doesn't seem to work as well... the semantics are not quite the same, and it isn't as good at remembering the search term from invocation to invocation. And ctrl-shift-S is a nasty three-key combo to have to press every time you want to do something as mundane as move backwards a few lines to a specific word.

I tried to figure out how to remap ctrl-r to the equivalent of ctrl-shift-S. I couldn't figure out how. Which just goes to show that TextMate may be the best editor of the last fifteen years, but it's still not ready for prime time by emacs standards. I'm no elisp wizard, but I managed to figure out how to build my own custom shift-lock key (mapped to C-0) that works only on the top row of the keyboard, so that I can type something like this in emacs

    $extra($foo) = ! $bar; #pretend this was real code
without touching the shift key once. TextMate can't even pretend to let me do something like that.


I think the first picture is pretty ugly, it looks too much like eclipse.


and what's wrong with eclipse? It does it's job well. It is an IDE not just a editor, and so far has been pretty popular for good reasons. I know it is trendy to bash java, but really what's wrong with eclipse?


For many folks, myself included, the spirit of emacs is to avoid the mouse. That particular screen looks like it was designed to be used with a mouse.

I agree that eclipse is a useful tool, but I don't think it has much in common with emacs. It feels strange saying this about editors, but they embody completely different notions of how programming is done.

For example, when I pull up a file in emacs, I intend to read the code. Eclipse users tend to load the file and then examine the structure tab, looking directly at the method definitions. I've seen eclipse users ignore my comments because of this structure pane (and not reading the code file top to bottom). These editors definitely put us on different wave lengths :)


My God. I never noticed that, but you're absolutely right. I'm a vi guy myself, but all the other, more _visually_ oriented developers in the office don't read code from top to bottom. They scan the methods in the structure tab on eclipse. I always wondered why their eyes would constantly drift off the editor...


You can use the ECB (emacs code browser, which is what's displayed in the left column of the first image) quite happily without the mouse - I use it quite a lot in a terminal.


I used Eclipse nearly every business day for about 18 months.

Search didn't fully work; accordingly, search and replace didn't fully work.

Workspaces would randomly get corrupted, and code would "build" that really shouldn't build (i.e., code with syntax errors would claim to have built). Sometimes deleting every object and make file cleaned things up, but sometimes it didn't, and I would just have to make an entirely new workspace. (Possibly a bug in our makefile system rather than Eclipse proper.)

Buttons along the lines of "Check here if you never want to see this again" didn't actually work.

Depending on the workspace, I would have to log myself into Subversion over and over and over; generally multiple times for commit/update/whatever. (Possibly a bug in Subclipse rather than Eclipse proper.)

An older version of Eclipse (3.1.1, if I recall correctly) got so corrupted on my machine that I could literally launch if, then just sit there for a minute or two, and Eclipse would die. I wouldn't even have to use it; it'd just die.

In short, I have not had pleasurable experiences with Eclipse. I strongly suspect that my experiences were not the norm, since Eclipse is so popular, but whatever the cause of this badness -- the fault of Eclipse proper or not -- I prefer going back to Emacs. :-)

Honestly, if I hadn't had such weird experiences with Eclipse, I probably would like it. It seems to be a very nice system (or at least it ought to be, when it works right). You can even set it up with Emacs keybindings, which help ease the transition somewhat.


I've never had any of the issues you describe.


It's not Emacs. If that isn't enough, it's also not Vim.


I recently switched from vim to emacs. It's so easy to extend with elisp functions, and the buffer handling & directory editing is great. Not to mention ecb, etc. I still like vim, emacs just works better for me presently.

I did have to put in some effort to get nice fonts, but as the article states, if you use emacs 23, you can get it to look beautiful. I wrote a post about how to get it running with nice fonts:

http://lojic.com/blog/2008/02/07/nice-fonts-for-gnu-emacs-on...


Well, as he asks for my excuse, why I still not use it ...

I did grow up in the MS World where your fingers are trained to use <ctrl-v> and <ctrl-c>. And certainly all the other keybindings which you learn when programming with VS for a decade. I tried switching a few times, but having to press 3 keys at once is probably the main reason which keeps me still away from emacs.

Does anyone know of some emacs scripts which put all the keybindings from VS into emacs? Including stuff like blockselection with alt+mouse? Serious, I'm mostly working on Unix these days, but I still miss the VS editor :-(


You can accomplish this if you want to, but please let us try to convince you that you don't want to.

Learn emacs. If you do you will never need to "miss" your editor again, in your entire life. Emacs is open source, it's cross-platform, and it will never die... unless it is replaced by something so great that you will never miss it. Which may never happen. (TextMate is the best alternative I've seen in the last decade, but it has a long way to go.)

You will eventually get emacs into your fingers. Buy Learning Emacs, a very good book. Learn to use kill-and-yank instead of copy-and-paste.

Three keys at once? Am I such an emacs veteran that I just don't notice myself doing that? I guess I do have a few combos like that (C-M-\ , indent-region, is one I use quite a bit) but I have a Kinesis keyboard with Ctrl and Meta mapped to adjacent keys, one set for either hand, and that kind of solves a lot of the problem. One of the reasons I got fed up with TextMate and retreated back to emacs is that I can't stand all the three-key combos that the Mac insists on... it's all command-shift-this and command-option-that, because the Mac refuses to use the emacs prefix approach.


As you might guess I have heard similar argument a lot already. I don't doubt that switching to emacs can be worth it, that's why I am asking about making it easier for me to start with it. I just don't see why I have to learn a new keymapping when nearly every new application out there uses a keymapping which is rather similar to the one which I am used to.

I'm not looking for emacs to simulate VS. I'm really only interested in mapping the behavior of the mouse and the keyboard to common shortcuts. And you didn't really make an argument why learning another set of combos should be preferred to that. As it seems you rather also mapped it to your liking...

So yes - I want to learn emacs. But no - I don't want to learn that specific keymapping, my current one works fine and every time I tried some emacs tutorial I was appealed by the 3 key combos after a while so much that I did give up. And because I'm not so deep in emacs I don't know yet how to do that, so I hoped that maybe someone else already did it.


cua-mode (Common User Access) gives you Ctrl+X / C / V as per Windows, and mouse highlighting, apparently without interfering with standard emacs key-bindings too much:

http://www.gnu.org/software/emacs/manual/html_node/emacs/CUA...


Long post ahead.

It's not really that hard...maybe Emacs isn't for you, but I was in your place just six months ago, when I started my CS studies and heard that Emacs could make your life easier. I am still a newbie, but I have started loving the editor.

Here's how to learn.

You need a good cheat sheet, printed and preferably taped to your monitor. You don't need the most arcane keymappings, but you'll need document navigation, search/replace, the escape commands (abort, save, quit), set mark/region, kill and yank (cut and paste, that is). And maybe after a while a quick reference on how to create and kill buffers. I am sorry I have to present it like this, but the keybindings are IMHO the best thing about Emacs when you're a newbie. Don't use the arrow keys! I know that sounds rather ludicrous, but it will save you hours of hand motion in the course of a year. And if at some point you miss a document navigation mapping, it is likely already included in the standard distribution and hence only a web search away. Try for instance http://astro.berkeley.edu/~robishaw/comp/emacs.crib.html.

Actually, you could probably manage it with just document navigation, kill/yank and save/quit. Those will teach you how to hate your mouse. I love it when there's something I can do exclusively in Emacs, because it is so much easier to get my thoughts into bytes. I don't have to worry about any stupid motoric kung-fu. My hands never leave the keyboard.

If you're a newbie, Emacs won't serve you well for all kinds of work. I still prefer Eclipse for Java stuff, because it has a much gentler learning curve for getting debuggers, auto-complete, inspectors and syntax checking in order. You can do all those things in Emacs, but you have to be a lot more dedicated than I have been thus far. For scripting work, however (and that includes just about any Python work et. al.) it is glorious.

Emacs' revered customization won't be of much value to you when you're a newbie (you have to download an emacs lisp file just to change the editor's colors, for instance), but hopefully such details will keep out of your hair until you are familiar enough in the environment to tackle them. My Emacs looks really pretty now, so you know it can be done.

Getting the book that was mentioned seems like an excellent idea. I have been wondering myself whether there was one. Good books make learning a hell of a lot easier than scouring the web.

Good luck to you, I hope you find a solution that makes you happy :)

[Actually, now that I come to think of it, it would be nice if someone made an Emacs distribution with tighter integration to the windowing system. With menu-bars for most of the commands, easier configuration dialogs and all that stuff. Maybe most emacs developers don't care for these things, but it is very intimidating to have to look up every unfamiliar keybinding on the web. Just pulling down a menu and reading it would make the editor much less intimidating. I think the reason most programmers scorn Emacs is that it frightens them, just like LISP.]


Well, thanks it's sort of nice to get all those advice. Just... I'm not exactly a newbie. Like mentioned above I already have worked a decade with VS (and started programming more than 20 years ago). And I'm used to those keybindings very much by now and not only have no problem with them, but I actually do like them. Really. Not the least because nearly identical bindings work in nearly every single modern application on Windows, Linux and even on most Applications on the Web.

The reason I had to leave VS behind is that it's not available for other systems and I also I didn't like VS so much anyway beside it's editor and it's debugger. I can live with smaller changes - so I have for example no problem working with kate and CodeBlocks. But they are still not as powerful as the VS editor had been. Emacs probably is - from all I heard it's even way beyond all of them.

But for all the power it might offer, for a start I would already be glad with simple familiar keymappings :-) I think people who had to work with VS and come from emacs (that stuff happens sometimes) know the feeling and therefore emacs keybindings exist for VS. I'm just looking for something the other way round. Though by now I guess that it's not yet available.

If I like the editor afterwards, well maybe I learn the original keymappings then also someday. But for a start I would just prefer it to work with the keys I like and know.

And I'm not afraid of Lisp - not the least bit ;-)


I have used Emacs every day since 1991, have never run Windows or Mac and hardly ever use Windows or Mac, and even I agree with you about the keybinding. You should refuse to learn a new set of keybindings because the set you already know is the set that well over 90% of the world and 90% of the world's desktop applications use. (I have not used this CUA mode of Emacs that other commenters mention.)


O'Reilly's Learning Emacs.

I should just make a shortcut that recommends this book.

And one secret to emacs is to learn the hell out of the control-H commands. C-h k, C-h a, C-h f, C-h v, C-h m -- the results of those commands, and the docs that you can get to from there, really can help you figure out which key you're looking for and what a particular wierd key-combo does.


anyone here used scite, i've tried so many editors on windows and i've found scite to be the best of them all

it's starts up quickly, i've added it to the windows shortcut context menu, and scite have this option that allow you to open all new file in the same instance on new tabs

it have really good folding, and it have a simple and nice perl integration by default!

i don't know much about scripting scite, i know it uses lua, but i am sure if it gets more popular, one will find nice languages mode for it

on windows scite is king!


Can someone give me a reason to try emacs and leave my trusty vim?


Hard to say what would be a good reason for you, but I had used vim for a couple of years and really liked it. I still like its conciseness.

I became interested in emacs because of the good support for Lisp w/ slime, etc. Plus, I thought I'd prefer extending my editor with Lisp vs. vim script - I was right. I hadn't written any vim scripts while using vim, but I've quickly written many little elisp functions and bound them to convenient keys.

The dired (directory editing) feature is great. I like the way it handles buffers & bookmarks better than vim. I actually use the calendar feature.

I like how the functions you right get integrated into the help facility automatically.

The "Learning GNU Emacs" book is great.

The architecture seems better than vim.

I wasn't thrilled with all the "chording", but I'm writing new functions and making the keybindings comfortable for me.

The help facility seems superior to me. Dynamic abbreviations, window/frame control.

I'm sure there's more, but I only switched about 10 days ago :)


first screenshot would be 'pretty' if it weren't editing python, which is horrible to look at, worse to code in.




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

Search: