Trail blazing innovators - Use Emacs
bestinclass.dk
bestinclass.dk
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 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.
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.
(also when I found Textmate, that also kind of killed off my interest in Emacs)
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.
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.)
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.
You don't have to use Emacs just because rockstars use it. I know awesome people who run Windows and use Notepad++.
GNU Screen can not possibly have Google Maps or any other applicationy feature as long as it is a _vt multiplexer_.
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.
And yes, I did just compare Eclipse/Studio/etc to Rockband :)
The Emacs analogy might hold for SrV or Jeff Beck; exceptionally good, but only a celebrity among a small community of die-hard fans.
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.
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.
http://www.emacswiki.org/emacs/MovingTheCtrlKey
I ended up doing this on all three of Windows and Red Hat (work) and Mac once I got used to it.
I found I had to actively train myself to use two-handed key chords. Right control-w, left control n, etc.
No more alternating nonsense. Pressing modifiers is instantaneous and requires no thought.
I love the Emacs way - but this uber productivy is exactly what f*cks up my hands.
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.
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.
I don't know why this is being voted up. This is utter nonsense and not supported by any arguments.
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.
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 :)