52 comments

[ 3.1 ms ] story [ 95.2 ms ] thread
vi vs emacs war plz 2 not have.
(comment deleted)
The only Emacs command you need to know is CTRL-X CTRL-C
Wanderlust doesn't look to bad. Had some trouble getting GNUS to work with GMail, might give that one a try.
Seems like Emacs is just becoming a large window manager in itself. Instead of having a lot of apps and using Alt-Tab to go between them, you stay in Emacs, have buffers, and use C-x o to flip between them.
It's been that way for the 13+ years I've been using it.
GNU screen is better at that, IMHO. But then screen doesn't have Google Maps http://news.ycombinator.com/item?id=1472314 :-)
You're comparing apples and mares; one is a tasty fruit, the other is nature's Toyota Prius.

GNU Screen can not possibly have Google Maps or any other applicationy feature as long as it is a _vt multiplexer_.

To me this reads "We're better than you because we're all using emacs". Sure making the best use of development tools is important but it's just a means to an end, that can be reached in different ways.
Right. And strawmen like

I know that there are many would disagree and claim that Mouse-driven IDEs and XML based configs are the way to move forward, but I firmly believe that such convictions stem from a lack of exposure.

don't help the argument.

I used to use and love emacs, but I stopped because the various control key combinations were too hard on my hands.
I'm starting to reach this point too. And I can't seem to convince myself to buy fancy (expensive) keyboards - even though I /know/ I should.
If you haven't already, just swap your CTRL and CAPS lock keys. That makes for a pleasant typing experience.
I've done that, and I don't even use Emacs.
I used to use a Typematrix 2030, but have gone back to standard keyboards. I use viper and vimpulse in emacs, so I'm currently using the following mappings (in addition to a Dvorak layout):

CapsLock key = Backspace (I hate that reach)

Tilde key = Escape (for VI)

Escape key = CapsLock (for when you need it)

Backspace key = Tilde

My windows keys also function as Control, so that I don't have to be super accurate when using my pinky joint (where my pinky meets my palm) to press it.

At first, this combination looks weird. But thinking about it, it makes great sense.
Having the tilde so far away is pretty annoying in a shell, but I haven't invested the time in coming up with something better.
I prefer to have it as an additional ctrl, who needs caps anyway? And while you're at it, use the Windows keys, too (if you have 'em). Dividing keyboard shortcuts between Control, Alt, Meta (and maybe Hyper) is much nicer…

Then install smex[1] and searching for commands in the long form is much faster, so you don't need to have that many shortcuts in the first place.

And the fastest and easiest key press is the one you don't have to do: Learn to use keyboard macros, you won't regret it.

[1] http://www.emacswiki.org/emacs/Smex

Did you try mapping caps lock as a control key, like on the Sun keyboards? Before I did this I had trouble with Emacs, but since then it's been perfect for me.
This is good advice, but it's not enough.

I found I had to actively train myself to use two-handed key chords. Right control-w, left control n, etc.

I remapped my CTRL, ALT and Left Shift keys so I can easily press them with my thumbs in any combination (I use a TypeMatrix).

No more alternating nonsense. Pressing modifiers is instantaneous and requires no thought.

+1. I'm trying to use Eclipse right now.

I love the Emacs way - but this uber productivy is exactly what f*cks up my hands.

You realise that Emacs is highly customisable, right? I mean, if that was really the reason, why not remap some of the more common sequences?
The mouse has always been 10 times as hard on my wrists as the most intense emacs fiddlings. I'm actually happy to spend more time doing a task just to keep my hand off the mouse.
The title sounds like: Wear MJ shoes and you'll play like MJ.
I think the proper analogy is: if you want to be like Kurt Cobain, get a real guitar instead of playing Rockband on expert all the time.

And yes, I did just compare Eclipse/Studio/etc to Rockband :)

The Cobain analogy best fits TextMate or Notepad++, not Emacs.

The Emacs analogy might hold for SrV or Jeff Beck; exceptionally good, but only a celebrity among a small community of die-hard fans.

this screencast is the first thing that's made me seriously consider switching to Emacs from vi
With viper and vimpulse you get a pretty good vi emulation.
The important thing to keep in mind is that emacs is ridicously bad at editing text.

It does everything else well, but coming from Vim you just need to accept you'll never edit text as well.

edit: And to add some of the best emacs I got was don't worry about closing buffers. Focus on work and ignore the window and buffer management. In the end you won't notice if you've got greps/acks, manpages, emails, or whatever open because you're too busy writing code.

> emacs is ridicously bad at editing text.

The thing is I can't imagine thinking that, unless I was coming from vim.

Coming from any other style of "editor", I would think the text editing capabilities of emacs were really good.

Of course, I am coming from vim now, so I'm completely spoiled.

The important thing to keep in mind is that emacs is ridicously bad at editing text.

I don't know why this is being voted up. This is utter nonsense and not supported by any arguments.

What do you mean supported by arguments? It's obviously my opinion comparing Emacs to Vim.

Vim is excellent at editing text. Really really good at it. Emacs is not. It's better than this vanilla comment box in firefox for sure, but compared to Vim's modal editing it's a dog. People injure themselves typing in Emacs. It's actually dangerous!

And my comment was getting votes because people agreed until you came along with your meta comment.

You are bad at editing text in Emacs. I am bad at editing text in Vim. That really has nothing to do with their intrinsic value.
One thing that bugs me in Vim ... Emacs has language-aware indenting rules, Vim does not. Emacs has editing modes that do stuff in the background (like running the interpreter/compiler to check your syntax), Vim does not. In Emacs debugging really works, in Vim I tried in vain to get something working.

All these things add up, and Vim may be efficient at copy/pasting/editing plain text, but on the whole I'm a lot more productive in Emacs.

Of course, Emacs's learning curve is so bad that sometimes I just wanna' give up and pick something else, like Textmate ... but then when I'm trying Textmate or anything else, I start missing Emacs ... in Emacs you can even undo-changes only on a region for fucks-sake, how can people work with that brain-dead undo functionality in Textmate is well beyond me.

It's a curse :)

Viper mode is what makes emacs work for me. I just love it; I haven't used vi/vim in years because I get all that mode-based-editor goodness in emacs, along with every other great feature it has.
I tried it. I really did. I decided I'd be a rock-star code-god Emacs user that did everything in emacs.

I set up Wanderlust, and by god it sorta worked with Gmail. Sorta. There were little problems with messages getting resurrected as "unread" even after I'd read them, and composing a message meant my "drafts" folder got pounded by incremental saved messages every 30 seconds, but whatever.

Then I tried to find a web browser that runs in Emacs and will display pages properly, not in the broken Links/Lynx way (with or without pictures). No dice. Oh well.

Then I started using IRC and my IM clients in Emacs. They worked ok, but it was around this point that I started to realize what an incredible pain in the ass it is to manage buffers in Emacs.

To start with, you never really have enough space on screen, so a lot of the buffers end up being hidden. Ok, whatever, but then you realize it's a hassle to even switch over to a different buffer, with the M-x b type-some-of-the-buffer-name dance, since you can't keep them all on-screen to switch around with C-x o. Of course, C-x o begins to get cumbersome when I have more than a couple windows/buffers open on screen at a time.

Then I realized that I'd really rather make my fingers feel happier (and yes, I use the swapped Caps Lock key) and just use this amazing tool we already have. It's designed for selecting things, and it moves spatially in 2 dimensions. I guess I don't look so haxxor-1337 anymore, waving that mouse around like a clueless Windows user, but I'm actually happy now that I left the Cult of the Key-Combo.

These days, I read my email in Firefox because I just don't care, and I do all my coding and text-editing in Acme, because I do care. For all the bullshit Emacsians spew about "losing focus by switching applications", they're switching applications at least as much as I do, every single time they M-x wanderlust, or switch over to the Org buffer--they're just switching applications with M-x b, rather than Alt-Tab.

I've become really happy with my various ways of switching between things. Part of the reason why is that there are so many ways to do it, because I don't put everything in Emacs.

I use a Mac, running various web browsers, Mac apps, Vim, Emacs, and connecting to Windows over Remote Desktop.

I use:

* Cmd-Tab to switch between Mac apps. Even works if I'm fullscreen in Windows: Cmd-Tab and I'm back to my Mac browser. * Cmd-~ to switch between Mac windows. Scoped to the current app, which helps when I have lots open. * Cmd-Shift-[ and ] to switch between Terminal tabs. No worries about the shell catching those keys. * Option-Tab to switch between windows within Windows. * gt/gT and the Ctrl-W keys to manage tabs and windows in Vim. * etc.

Notice how I have various levels of switching? I don't have all of my tasks on the same flat plane, so I can switch between groups easily. Vim and Emacs end up as task-specific interfaces; I don't have to worry about getting my IRC client out of the way when I want to edit a few files, and the shortcuts to get to my browser is disjoint with the ones I use in my editor.

Somehow all of these are internalized, so the complexity doesn't really affect me. I just notice how easy it is to get to what I want across multiple OSes and apps.

Yeah, the "do everything inside emacs" lifestyle slowly became obsolete as web browsers in particular got much more advanced. I followed much the same path as you did except I still haven't found an editor I truly prefer, so now I only spend about 60% of my time living in emacs.

acme is interesting but I'm not convinced that switching so often between the mouse and keyboard is any better when it comes to RSI. Guess I'll have to try it for a couple weeks.

I gave up before I really started, specifically when I read some power user admit that it took him a whole year to get used to using emacs. Not happening. Incidentally, there is a well documented psychological phenomenon whereby people automatically value things higher just because they invested more time in them... just saying.

(also when I found Textmate, that also kind of killed off my interest in Emacs)

It has taken me several years to get used to using Unix systems through accumulated casual and professional usage. I used Git for a year or so before I really started to understand it.

Emacs is like that. You can read the Emacs tutorial in 20 minutes and use it like a fancy notepad, but true mastery of any complex and powerful system takes years.

I agree that using emacs for everything is not for everyone. But with regards to switching between buffers being cumbersome:

1. If you're not willing to change your keybindings to taste, Emacs basically isn't for you; its default bindings are terrible. I suggest binding switch-to-buffer (C-x b) and other-window (C-x o) to single, easy-to-reach chords (I use C-. and C-' respectively).

2. switch-to-buffer sucks. Use iswitchb-mode; it gives you interactive completion of buffer names with substring matching. It also lists your buffers in most-recently-used order, so switching back-and-forth between two buffers is trivial. (There's also ido-mode, which adds interactive completion to even more things with even more features.)

Basically this is the same issue that emacs has always had: the learning curve is steep and you have to invest some time and explore in order to find settings that work for you. (I'm sure you're happy with your current setup; I'm making this post more for people who might be scared away from Emacs than to try and convert you.)

I mostly live in textmate and textmate clones when I need to traverse many folders/files at a time, which is frequently.

If I'm working on something obscure (server-side javascript, ML, parser generators, ragel, etc) I just fire up emacs because there is ALWAYS a mode for what you want.

I don't see why there has to be one true tool either way, so I'd say that I agree in general.

Can't say that I grok acme. Tried it, can't do it.

Do you know about frame-configuration-to-register (C-x r f <key> to save, C-x r j <key> to jump to one)? I set up an IRC configuration with the 4 channels I check regularly, another one for shell buffers for all the machines i'm usually on, etc.
Just because you can use Emacs for everything doesn't mean you should. I use Emacs solely for editing code. I use MacIrssi/Xchat/Opera for IRC, a web browser (Opera, Chrome, Firefox ... anything at all) for browsing the web, GMail for email, Adium/Empathy for IM. I don't even run eshell; I prefer running multiple Terminal.apps/gnome-terminals.

You don't have to use Emacs just because rockstars use it. I know awesome people who run Windows and use Notepad++.

I expected this to be a survey of what editors trail blazing innovators use. I'm disappointed.
emacs is to text editors what Dwarf Fortress is to video games.
The Clojure debugging stuff at about 12:00 into the screencast is a really nice piece of information.