There are many things you can say about Emacs...
pyside.blogspot.com
pyside.blogspot.com
'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 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. :)
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.
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.
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.
Do a ctrl+s for example
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 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 :)
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 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...
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 :-(
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.
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.
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.]
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.
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 ;-)
http://www.gnu.org/software/emacs/manual/html_node/emacs/CUA...
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!
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 :)