Emacs Key Bindings Make You Retarded

On April 18, 2005, in Computers, by psu

The other day, I stopped using Firefox for gmail. Part of the reason is that Firefox under MacOS feels slightly wrong and renders funny because it is still using older Carbon interfaces. But, the real reason I stopped was because the text widgets don’t have Emacs key bindings the way normal MacOS text widgets do. What I find sad about this is not that Firefox is lacking this feature, but that my nervous system is so crippled that even 20 years down the line, I can’t purge the need for this stupid text editing user interface from the tips of my fingers. My conclusion is that Emacs makes you retarded.

Of course, it’s not really Emacs that is at fault here. The real problem has to do with the ability of the human nervous system to quickly adapt to one idiosyncratic way of working (ctrl-a for go to beginnging of line? Who thought that made sense) and then not be able to flush out the adaptation when it has clearly become an impediment to further productivity. During all these years, I would have gladly given up the Emacs in favor of any number of other tools, but my psyche used various techniques to make this impossible.

A False Sense of Superiority

This kept me going for at least a good decade. The notion that I would use something else if only there were something better. Many better things were always staring me in the face, but I was always able to rationalize them away. “Well, that tool might have decent font coloring, but it won’t do adaptive USENET news thread classification.” You know how it goes.

Premature Abandonment

This is the syndrome that causes you to give up on every new tool after five minutes because you cannot immediately adapt to it. You forget that it probably took months of acclimation to get really good with the original tool. But, no matter. You try to use a new, and probably better, tool for a few minutes and the fifth time ctrl-a does not do the right thing, you throw it out the window.

One Last Legacy

I still use Emacs day to day, but not for coding. I actually use it to connect to an archaic chat system that many of my online “friends” also use. My attachment to this legacy application is almost as sad as my attachment to ctrl-a. But what can you do.

Ultimately, I think in a few more years, I’ll have managed to completely wean my subconcious from the need to hit ctrl-a all the time. Happily, or maybe not so happily, MacOS has managed to slow this process down somewhat because the Cocoa frameworks date back to NeXTStep, which was devleoped by a bunch of recovering Emacs addicts, and so all of the text editing widgets (and some modern applications, like Keynote and Pages) provide all of the core key bindings, including the beloved ctrl-a. The irony that brings the Mac user interface and Emacs together is pretty thick.

So, yes, I will remain mentally crippled, but at least I’ll be able to edit text on my Mac.

 

37 Responses to “Emacs Key Bindings Make You Retarded”

  1. peterb says:

    I have this problem too, and I hate myself for it.

    What I _really_ hate is that I use ctrl-n (next line), ctrl-p (previous line), ctrl-f (forward character) and ctrl-b (back character), even though EVERY GODDAMN KEYBOARD I’VE USED FOR THE PAST TWENTY YEARS HAS HAD PERFECTLY FUNCTIONING ARROW KEYS. My body is much happier making my carpal tunnel worse than using the right tool for the right job.

    Why? Because I use Emacs. And therefore, I am retarded.

    Of course, sometimes an immovable object meets an irresistable force: like where you try to do ctrl-a, ctrl-k to go to the beginning of a line and kill it in emacs, but you’re running it in a “screen” session where you haven’t rebound the attention key, and you end up killing your window. AAAAhahahahaha.

  2. Dr. Click says:

    It could be much, much worse. You could have WordPerfect finger memory.

  3. Derrick says:

    I had this problem, there is xul you can edit in to make Firefox have more useful keybindings, but that you need to do this really sucks. Safari has emacs keybindings, and Firefox, a unix-heritage app, has some bizarre bindings instead. Hate them all.

    Normally I just use Safari.

  4. Shelby Davis says:

    Really, EMACS is hateful because it caused this to become lodged n my brain:
    “Anything you can do, I can do meta, i can do mea betta than you”

  5. Chris Colohan says:

    Perhaps I am just another addict defending my need for a fix. But what is wrong with emacs key bindings?

    Sure, initially learning ctrl-a, ctrl-n, ctrl-p, ctrl-f, ctrl-b, ctrl-h and ctrl-k is hard. But once you have it programmed into your very soul, they are second nature.

    Peter — you argue that this makes your carpal tunnel worse. Why? I find that if I have my control key configured to be where GOD intended (to the left of the A key), I don’t have to move my hands very much to move the cursor around, and this makes them happier. I get quite frustrated when I use applications where I have to move my hand down to the arrow keys to move the cursor, and then have to play the “search for the homerow” game to start typing again.

  6. psu says:

    Yes Chris, you are just as retarded as the rest of us.

    In my experience chording makes your hands hurt more than not chording. And, taking your hands off the keyboard to reach for the arrow keys is a good way to break up the repetitive motion of typing, which is a good thing.

    While it’s true that the key bindings “make sense” once they are wired into your spine, that’s sort of the whole point. That’s the only way in which they make sense and I think the world as whole has moved on to mechanics that in general work better. Why move the cursor one character to word a time? Just pick up the freaking mouse and go where you want immediately.

  7. Zugdish says:

    emacs is not as retarded as the emacs developers who decided that by default the backspace key should send a ctr-h and start the help system.

    and if you really want retarted, get your bad self down to the “vi” commands.

    Myke Holling setup a hack so that the backspace in emacs did the expected thing on our servers, which was nice. However, those servers weren’t immortal and the current servers have the backspace damage so I find I used Pico if I expect to have to backspace.

  8. Benoit says:

    I find the vi keybindings to be easier on the hands. I have to reach for ESC — no cheating possible; and then there’s very little multiple-key action going on.

    Then again, this modal interface is insanity itself. I can’t wait for the ESP-based text editor.

  9. Shelby Davis says:

    The ESP based text editor will only work if you think in Russian.

  10. Adapted says:

    Hmmm, this is what comes from working in a sterile environment, whether that be devoid of windows or devoid of unix.

    Mix up your computer environment so you are forced to work and interact with tools that don’t understand the emacs key bindings.

    Might help you to use that other 80% of the brain :)

  11. nobody says:

    oh wow, i didn’t know that cocoa apps supported emacs bindings! nifty.

  12. chambo says:

    Go vim–you know you want to.

  13. jose says:

    you’re all nuts. ctl-A, ctl-E, and ctl-U are the only thing that is RIGHT with emacs

  14. asdf says:

    Speaking of retarded, I read that post as “Go vim – you know what you doing.” arg.

    Anyway. Somehow I’m retarded because I think it makes sense for Ctrl+U to delete what’s entered in a text box instead of fscking VIEW SOURCE goddammit. No, it makes more sense to do SHIFT+HOME, DEL or use the damn mouse. arg.

    When do I get my Official Bitter Unix Curmudgeon Membership Card? I feel like I should be yelling at some damn AOL users to get the hell off my lawn.

    arg.

  15. mishoo says:

    Of course, I came to this page looking for a way to make my Mac behave as I know Emacs would. :-)

    Am I retarded? I don’t think so… it’s just that I’m extremely productive with Emacs and I don’t want to learn another way of using the keyboard…

    I find that one of my fingers from the right hand always tends to be above the CTRL key and presses it by itself when CTRL is needed; i.e., when my brain thinks “beginning of line”, hands react automatically and the right finger goes on CTRL and the left hand presses A, I suppose, without any further intervention from my brain :) ) So the brain doesn’t think “Option-LEFT” (which seems to be the “portable” way to do it on the Mac, and IMO is totally insane); brain thinks “beginning of line” and hands know it. :) Retarded or not, it’s a second nature.

    I’ll just keep searching.. CTRL-A _must_ do the right thing (and it actually does it in Cocoa apps), but what about the other bindings like Option-F for “forward word”, or Option-T for “transpose words”, Option-C for “capitalize word”, etc. They really do make editing more productive and I deadly need all of them. :)

    If you have Emacs key bindings in your blood–like I do–then you _want_ your environment to support them. A computer is suppose to behave like you want, not the other way around. Do not give up! Don’t customize your brain! ;-)

  16. n says:

    In my experience (spending 1.5 years thinking I had “RSI” and not working because of it), “carpel tunnel” and other “repetitive strain injuries” are a psychosomatic manifestation. I suggest checking out Dr. John E Sarno’s working on understanding and recovering from this. Check out this doc for a summary of his ideas:

    http://www.rsi.deas.harvard.edu/handout.doc

    His book “Mindbody Prescription” completely cured me. I’ll never even think about a keyboard hurting me ever again.

    So I don’t think the RSI/carpal tunnel argument is valid. I’d say you can only argue in terms of efficiency and speed.

    So as far as keybindings are concerned, I like apps where you can configure what type of keybindings you used. I wished OS X had some OS-wide setting for this because I’m *not* an Emacs pro.

  17. Paulbackang says:

    I landed here for the same reason: looking for emacs keybindings for firefox.
    I’m new to emacs and I think beeing an emacs user is a bit like beeing bilingual, you have to switch very fast from one “hand” language to the other.

  18. Steve says:

    Yes, Paulbackang. I also landed here looking for emacs keybindings for firefox. And I am also a new convert to emacs, and love it.

  19. Chin says:

    heh – I’m another user who was ecstatic to discover emacs bindings while using gmail! first I thought it was native to Mac OS X text widgets then I realize it didn’t work on Firefox and now confirmed it’s native to Safari. I think it’s great – I’m a recovering addict myself :) Anyhoo – landed here for the same reason – looking to see if I can add emacs bindings to Camino/Firefox. I’m a bit shocked Camino doesn’t have em built-in but I suppose there’s a conflict of interest to some degree!

    I vote for being able to choose my bindings too!

  20. Alex says:

    Ditto. (Looking for Firefox emacs bindings.)

    Add another to the legion of the Emacs-retarded. (Note: the Opera browser allows for easy Emacs bindings – rebind all your favorite functions, from C-a to M-z.)

  21. Gunnar says:

    http://kb.mozillazine.org/Emacs_Keybindings_(Firefox)

    This tells you how you can edit a xml file inside a jar file inside the firefox app to get emacs keybindings in firefox! My life is bliss…

  22. Doug says:

    I use a kinesis dvorak keyboard, it is great except for two things. One: the arrow keys are spread out over the left and right halves of the keyboard and are pretty much useless. Two: I have to remap every single key in an FPS game to be able to play. I know #2 has nothing to with this section, but #1 means that the emacs bindings are great. I don’t need those pesky arrow keys in their retarded placement on the keyboard. Also, the ctrl keys are activated by my thumbs, each thumb has its own ctrl key. So I like the emacs bindings. And have used them enough now that I do have that trouble too. The don’t hurt my hands, but they make me paste a lot in windows apps as I try to scroll down the screen.

    Incidentally, I took up the kinesis-dvorak keyboard to combat near-carpal tunnel. And it freed my hands up so much that I started typeing a lot faster, which made up for all the ergonomic advantage and I’m still borderline.

  23. Mike says:

    Count me in as yet another who found themselves here after trying to fix firefox keybindings.

    There’s an especial irony in that I ditched using my linux desktop in favor of osx because the ninnies behind gnome kept making it more and more difficult to fix their bad keymappings.

    I switched to developing in eclipse when I saw it supported emacs keybindings. I fought against using an IDE for 10 years until for the same reason.

    Emacs may have made us retarted, but it’s us that make every other application is retarted too.

    And you know what? I wouldn’t have it any other way. I just wrote this entire comment in firefox, and I’m switching back to safari and C-p C-n C-a C-k goodness right after I hit post.

  24. Ben says:

    To the person who was having trouble using Emacs keys in Gnome: it is possible and not too difficult.

    Just run this:

    gconftool-2 –type “String” –set /desktop/gnome/interface/gtk_key_theme “Emacs”

    I know this works, because I’m typing this on my parents’ iMac (Debian PowerPC) which has Gnome 2.12 and I no longer feel retarded.

    –Ben

  25. Ben says:

    To the original blogger: Emacs key bindings don’t make you retarded. It only feels that way because of the mismatch with Apple’s human interface guidelines. Your brain knows a faster way to do things and it’s frustating when you have to use a lesser interface.

    When I’m forced to use a Mac or Windows computer, I often feel stupid. It’s like somebody’s handed me a spoon and said, “Okay, here’s the tool we use for slicing tomatoes. Go for it.”

    –Ben

  26. Trae McCombs says:

    *sigh*

    I want ctrl+u on OS X !!!!

    I agree though, I’ve learned so many things from 10 years of using Linux, that is VERY hard to switch.

  27. john says:

    sometimes I think working in emacs is more fun than playing video games. I get a real rush out of making the cursor move so fast and ‘killing’ the text.

  28. morgainfully says:

    I dont believe someone that’s used Emacs for 20 years would write something like this. And if it’s true, then perhaps they were retarded before taking up Emacs.

    Anyone suffering from cognitive fixation only has themselves to blame and not their text editor for their inflexible mind. You’ve missed the point of emacs for 20 years if you think its strength is Ctrl-a. If you paid attention in your first couple months you might have learned that the ctrl-a is completely arbitrary. If you want another binding it is a one line command to reassign.

  29. eeb says:

    Here’s a potentially dumb question… Unlike the author of the original blog post, I “grew up” with the Windows GUI and am comfortable using the mouse and/or arrow keys for moving the cursor around. When I try to use Emacs or VI, I find it very non-intuitive and alien, although I can see how they both could be highly productive tools once mastered. What I don’t get is the author’s example of ctrl-A as an important key binding. Why is “go to the beginning of the line” such an important function? I know that the Home key does this in Windows, but I almost never find myself using it. I guess the mechanics of mouse-free editing must be radically different than what I am used to. Anyone feel like explaining this ctrl-A thing to a Windows-retard?

  30. peterb says:

    It’s an important function if you’re using your editor for programming. Very often, you’ll want to jump to the beginning (or end) of the line you’re on to make changes. In word processing it’s a less-frequently appearing need.

  31. reeses says:

    My favorite (?) is when I take my emacs-lizard-brain and let it loose on Windows apps, especially Office. I’ve lost count of the number of times I’ve accidentally typed c-a and watched my document disappear. Sure, in most apps, c-z brings it back, but there’s nothing like watching 10 pages disappear to give you a jolt of mid-afternoon adrenaline.

    That’s one of the nicer things about switching to the Mac, I guess. It just makes that “thunk” sound to tell me that I’m being retarded.

  32. shaurz says:

    I also grew up with Windows key bindings, but I find myself using (shift)+home/end/pgup/pgdn/arrows very frequently (not to mention ctrl+x,c,v,a,s,n,…). When I find myself on a keyboard without these keys it’s like losing a limb. KWrite is still the only editor on Linux I am comfortable with (yeah, laugh at me), vi is OK, I think I’ll write my own.

  33. Amit Patel says:

    I used to be a heavy Emacs user (for ten+ years). I used the arrow keys and function keys (F1-F10) quite a lot, and rarely used the chords. Once I got a laptop though, I found that the arrow and function keys were hard to use, so I switched to the original chords. I haven’t had trouble with RSI (yet), but I’ve only been using the chords for a year.

    If you use Windows (and I realize the OP doesn’t), try XKeyMacs. It brings Emacs bindings to Windows apps, including Firefox. When not in a text area, C-n / C-p / C-f / C-b will scroll the web page vertically and horizontally, for example. It’s far more convenient than using arrow keys :-)

  34. dennis says:

    Whether chords hurt you is going to depend on how you use them. If you leave your hands in place and stretch awkwardly, it might hurt, but if you let your hands move around, you’ll do better, plus it’s fun. Release your inner piano player.

  35. ash@uva.co.uk says:

    So what this discussion seems to point out is the clear need for an always-on tool that can map key bindings from any application to any application. Totally simple; it takes a set of mapping files, one for each application in your system that does text-editing. A mapping file is a list of ‘input’ key combinations and the corresponding output key combinations. When you switch to an application, the appropriate mapping file is loaded. End of.

  36. albert says:

    anyone else suffering from the same sort of chronic alt misplacement in terminal.app? (M-f, M-b *and* Alt-Tab) mapping meta to option has been like walking in 2 left shoes.

  37. Escape Meta Alt Control Shift says:

    Thank you all for your thoughts and comments along these lines. Its comforting to know one is not alone!

    ash@uva.co.uk wrote:
    > … the clear need for an always-on tool that can map key bindings

    you all may be interested in XKeymacs. see http://www.cam.hi-ho.ne.jp/oishi/indexen.html

    FWIW, I too have struggled with this condition over the years. For reasons that don’t matter, I acquired the emacs habit many years ago, and have found it exceedingly difficult to let it go.

    Many times I have asked myself “why?” and the answer that comes back is not only that one can’t simply erase decades of muscle memory, but also, that as Mitchell L Model recently wrote (http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-May/104265.html), there are “many social, psychological, and cognitive factors that cause people to resist change in general.”

    long story short, I think there’s a whole essay if not a book in here. but who would read it? :-)

    signed, “Escape Meta Alt Control Shift”

    p.s. this note was edited in emacs, and pasted into this lame little textbox. :-)