Slashdot Mirror


Learning GNU Emacs, 3rd Edition

barryhawkins writes "It's safe to assume that people who are thinking of learning GNU Emacs or improving their Emacs skills are motivated. These people probably know their way around a command prompt, and likely know that Lisp is more than just a speech impediment. They need a book that offers expert advice without wasting time or insulting the intelligence of the reader: Learning GNU Emacs, 3rd Edition is that book." Read on for the rest of Hawkins' review. Learning GNU Emacs, 3rd Edition author Debra Cameron, James Elliott, Marc Loy, Eric Raymond & Bill Rosenblatt pages 534 publisher O'Reilly Publishing rating 9 reviewer Barry Hawkins ISBN 0596006489 summary An intelligent, graded treatment of the landscape of useful Emacs skills and how to internalize them

For a programmer, it is reasonable to question whether or not a word processor or graphical IDE is the right tool to edit a simple script or properties file. IDEs like Eclipse have become universals hammers, and to some of their users, any file containing text looks like a nail. Specific tasks are rarely handled well by universal tools, and text editing is no exception. Dave Thomas and Andy Hunt, authors of The Pragmatic Programmer and founders of the Pragmatic Bookshelf series, recommend that programmers adopt a text editor as an essential utility in their collection of appropriately-suited tools. The tried-and-true text editor is enjoying a renaissance of sorts, and one of the most extensible and customizable applications among text editors is the venerable GNU Emacs.

Tutorials and documentation for Emacs are abundant, but they often prove time-consuming and ineffective for actually learning Emacs. The printed version of the official GNU Emacs manual reads more like an application programming interface (API) document than an instructional guide. This book is a refreshing break from the documentation many have come to expect. Imagine having a group of leading experts on Emacs at your disposal to teach you how to use it in a conversational, consultative style. That is what has been bundled into this book.

The extensibility of Emacs is considered both a key strength and a confusing weakness of the application. The Emacs community has created all sorts of additional capabilities for Emacs, ranging from the impressive to the absurd. The authors have done well to judiciously select which Emacs capabilities to cover. For example, while Emacs does have the capability to function as an email client, other applications have long superseded its ability. The authors have chosen not to cover this topic, and instead devote the available space to learning Emacs' core functionality -- powerful, efficient text editing.

This edition of the book uses the space gained by the removal of esoteric topics to flesh out areas of more common interest. Peripheral areas of Emacs, such as compatibility modes for programming languages (other than Java and Perl), have been left for the user to research after gaining a solid foundation on Emacs as editor and work environment. Integration with the major version control systems has been expanded to include Subversion alongside the age-old standards CVS, RCS, and SCCS. Coverage of support for Java and Perl has also improved, as well as sections for editing HTML and XML. Users wanting to tap into the power of Lisp programming for Emacs should find the coverage satisfying as well.

The pace of the material is comfortable, and the order in which topics are introduced allows the user to progress smoothly through the book. Users with some experience can skip past the first three chapters, but would be advised to read through them, particularly those who are self-taught (which applies to most Emacs users). Given the amount of time the average user spends in Emacs, picking up one or two time-saving shortcuts would be well worth an investment of a few hours. Instructions are given in a way that reflects the fact that there are multiple ways to achieve the same outcome; the authors do not attempt to foist "the only way" to accomplish something upon the reader. Some readers will find that bothersome, desiring instead a simple, straightforward heuristic for performing a task. However, the typical users of Emacs tend to be people who embrace the fact that the world is not a simple, straightforward abstraction. The book reflects the authors' awareness of this nuance.

Perhaps the most distinguishing feature of this book is the chapter devoted to the use of Emacs on different platforms. Unix, Windows and Mac OS X users receive equal acknowledgment. The precautions and insights regarding subtle differences in Emacs when used on particular platforms can reduce users' frustration when getting started.

The mnemonic devices and conventions used in the book allow users to commit useful keyboard commands to memory. The memorization is further solidified by the exercises sprinkled appropriately through each chapter. Readers do not go for very many pages before it is time to be at the keyboard again, harnessing the power of muscle memory to reinforce the material presented. Those who spend any time at a shell prompt or in console applications will find that their new mastery of Emacs keyboard shortcuts translates into increased proficiency with command-line operations as well.

You can purchase Learning GNU Emacs, 3rd Edition from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

64 of 334 comments (clear)

  1. VI can't we have this thread without someone... by djh101010 · · Score: 5, Funny

    ...doing just what I just did? I mean, just once?

    1. Re:VI can't we have this thread without someone... by ackthpt · · Score: 2, Funny
      ...doing just what I just did? I mean, just once?

      vi is for people who can't hunt-and-peck (I should know)

      --

      A feeling of having made the same mistake before: Deja Foobar
    2. Re:VI can't we have this thread without someone... by AKAImBatman · · Score: 3, Funny

      Just run EMACS in VI mode and watch everyone's heads explode.

    3. Re:VI can't we have this thread without someone... by saskboy · · Score: 2, Funny

      VIrtually every EMACS thread is going to have some VIcious person bringing up the VItality of competing text editors.

      Now if you managed to say what you did with a LISP, I think moderators would give you a few bonus karma points for that vocabulary VIctory.

      --
      Saskboy's blog is good. 9 out of 10 dentists agree.
    4. Re:VI can't we have this thread without someone... by freshman_a · · Score: 5, Funny

      Since you've already started...

      The only 3 commands any Emacs user needs to know:

      Ctrl-x
      Ctrl-c
      vi

      Let the flame wars begin! :)

      (for the record, I use both Emacs and vi...)

    5. Re:VI can't we have this thread without someone... by revisitor · · Score: 2, Informative

      There is http://www.delorie.com/gnu/docs/emacs/viper_26.htm l/ for those wanting to return to the one true path (and avoidance of carpal tunnel syndrome).

    6. Re:VI can't we have this thread without someone... by Sponge+Bath · · Score: 4, Funny
      for the record, I use both Emacs and vi...

      We need a mod option '+1, poor bastard'

  2. Buy vi? by JWW · · Score: 3, Funny

    Vi would I want to learn emacs????

  3. I've tried to learn emacs to no avail by winkydink · · Score: 2, Interesting

    I've been using vi for over 20 years. From time to time, I have tried to learn emacs (seeing the benefits) but the learning curve seems so steep, relative to just sticking with the statuis quote. Short of taking a couple of months off to focus on this extensiveley, what's the best way?

    --

    "I'd rather be a lightning rod than a seismometer." -Ken Kesey

    1. Re:I've tried to learn emacs to no avail by Anonymous Coward · · Score: 3, Funny
      (http://www.networkmirror.com/ | Last Journal: 2005.07.14 12:45) I've been using vi for over 20 years. From time to time, I have tried to learn emacs (seeing the benefits) but the learning curve seems so steep, relative to just sticking with the statuis quote. Short of taking a couple of months off to focus on this extensiveley, what's the best way?

      It seems you have misspelt 'VI Rules!'
    2. Re:I've tried to learn emacs to no avail by slim · · Score: 3, Informative

      I'm in exactly the same boat. I don't consider myself to be stupid, but I've made serious efforts to learn Emacs (initially, just as a text editor), using the built in tutorial and previous editions of the O'Reilly book, and none of the keybindings, obscure combinations and long commands stick in my memory.

      Vi wasn't easy to learn either -- but while unintuitive, it is all logical and most of the keybindings have obvious mnemonics.

      I decided to give up on Emacs, and to be honest I've never been given a reason to regret it.

    3. Re:I've tried to learn emacs to no avail by panda · · Score: 4, Informative

      I've been using Emacs for 15 years and started using Emacs before I even knew that vi existed. I use vi when I must, i.e. no Emacs on the server or I'm going in on a slow remote connection, but don't want to use vi for my every day editing. I can do all the basic editing that I need in vi, but for the truly fancy stuff, I feel much more at home in Emacs.

      Automation of repetitive task can go way beyond recorded key strokes once you get a grip on Emacs lisp. This tool has saved me years of work over the time that I've used it.

      The best way to learn Emacs is to just use it. Having this book will help you. I have the first edition now collecting dust on a shelf at home. The help, actually info, is very helpful. There's an interactive tutorial that comes with it, etc.

      My favorite editor, though, must be sed. ;)

      --
      Just be sure to wear the gold uniform when you beam down -- you know what happens when you wear the red one.
    4. Re:I've tried to learn emacs to no avail by soloport · · Score: 4, Informative
      what's the best way?

      Start with the most basic navigation commands. Learn to use "Ctrl-H, A" and type words in to learn about other commands you may need (e.g. "Ctrl-H, A, page" yields backward-page, forward-page, etc.)

      The most useful thing I've ever done for my productivity, when it comes to Emacs, is to add the following line to my ~/.emacs file:
      (global-set-key "\C-z" 'call-last-kbd-macro)
      So, when I type Ctrl-Z, it doesn't drop me into the shell (very annoying), but instead executes the last macro. Creating a macro is so easy and executing a gazillion iterations of a macro is now that much easier.

      I've tried to switch to IDEs, to Kate (very, very nice), Quanta+ and others. But the power of the easy, fast macro keeps me coming back to Emacs, every time.
    5. Re:I've tried to learn emacs to no avail by Malc · · Score: 2, Informative

      M-x viper-mode

      (Meta or alt key plus x, then type viper-mode when prompterd). Now you have VI keybindings.

    6. Re:I've tried to learn emacs to no avail by sammy+baby · · Score: 3, Insightful
      (global-set-key "\C-z" 'call-last-kbd-macro)
      So, when I type Ctrl-Z, it doesn't drop me into the shell (very annoying), but instead executes the last macro. Creating a macro is so easy and executing a gazillion iterations of a macro is now that much easier.

      Except that for plenty of us, Ctrl-Z is already mapped in our heads to "Undo." So while we're stabbing at Ctrl-Z to undo what we just did, Emacs will helpfully be doing it again.

      (Sorry - I'm sure it works well for you, but for someone just learning Emacs, it might not be the best idea. ;) )
    7. Re:I've tried to learn emacs to no avail by hwestiii · · Score: 5, Insightful

      I used to work with a guy who used Emacs exclusively for everything, on WinNT even, and I used to think it was a joke. I'd tried learning the standard key-bindings but while they weren't completely non-intuitive, they seemed unneccearily difficult. I used to joke with him that Emacs needed foot pedals in addition to a keyboard.

      Then I discovered VIPER mode and the way became clear. I'd taught myself vi a few years earlier while going to school, forcing myself to write my CS homework assignments using it on a Linux box.

      Perhaps Emacs is really no more difficult to learn than vi, but it set up a sort of cognitive dissonance in me that I could not overcome. Of course vi can be difficult and cryptic with it single letter keystrokes and love affair with the escape key, but it simply seems so much smaller than emacs, with just that little blank window and blinking cursor.

      Emacs on the otherhand just looks so feature rich with all its cascading menus and multiple modes and such that I felt intimidated only learning the basic editing commands. It made me feel stupid, and try as I might, it did not appear to get any more accessible with use.

      VIPER is just the ticket for me. All the run-of-the-mill editing is there at the tips of my fingers with familiar commands, and the deeper emacs stuff is still available if and when I care to use it.

      Honestly, I think the default key-bindings of Emacs are its greatest impediment to common use. Perhaps every copy of this book (I own the 2nd. edition as well as the manual and references from GNU) should come with a vi quick ref just for good measure.

    8. Re:I've tried to learn emacs to no avail by An+Onerous+Coward · · Score: 2, Informative

      As a die-hard Emacs fan, I would suggest that you stay with vi. You've got lots of experience with it, it's always available, the number of fans it has would indicate that Emacs can't be all that superior, etc.

      Having said that, if you're still interested in learning Emacs, the best way to do it is cold turkey. You start using Emacs for your daily text-editing activities. All of them. Make yourself a cheat sheet, and stick it on the side of your monitor for easy reference.

      Just try to get the basics at first. Simple navigation, selecting regions, cutting, pasting, and the saving and loading of files should be enough to get you started. Once you're comfortable with those, add in searching, switching between buffers, "autocomplete", find-and-replace, etc. Only add a couple of new features at a time, and give yourself time to make them instinctive before moving on.

      One last thing: Don't touch the mouse. This will help you in the long run, as it will be an incentive to learn to navigate around a buffer. Avoiding the mouse will soon feel very natural.

      My biggest hurdle with Emacs was the fact that I'd never used the Ctrl key, and I kept hitting Shift instead.

      In summary, don't "take a few months off" to learn Emacs in its own right. You'll learn it better by simply using it for whatever project you're already working on. Remember that the learning curve is always steep when compared with sticking to the status quo, but don't be surprised if, once you get up the mountain, you find that you're approximately as productive as you were in vi.

      --

      You want the truthiness? You can't handle the truthiness!

    9. Re:I've tried to learn emacs to no avail by Fahrenheit+450 · · Score: 2, Insightful

      For the record, how can something be both unintuitive and logical? :)

      Because intuition and logic aren't the same thing. For a simple example take the birthday paradox (which isn't a paradox, but I didn't name it so don't blame me). It is completely unintuitive that a random set of 23 people has a greater than 50% chance of containing at two people who share a birthday. However, a straightforward proof shows that this is indeed the case.

      Another logical, yet unintuitive thing is that the cardinality of the integers and rational numbers is the same...

      --
      -30-
  4. Oh my god! by bigtallmofo · · Score: 3, Funny

    This review is amazing!

    I haven't been this excited since Slashdot's review of "Learning GNU Emacs, 2nd Edition".

    --
    I'm a big tall mofo.
  5. Reviewed 9 months after publication! by GLevangelist · · Score: 5, Funny

    But given Emacs' startup time, you're forgiven.

    1. Re:Reviewed 9 months after publication! by Anonymous Coward · · Score: 2, Informative

      There is a Linux kernel module für emacs to make it start faster.

    2. Re:Reviewed 9 months after publication! by rsheridan6 · · Score: 2, Funny

      Upgrade to a 386 and it won't be a problem.

      --
      Don't drop the soap, Tommy!
  6. Come on, do it right by Mr.+Underbridge · · Score: 3, Funny

    It's like this:

    Vi, vi vould I vant to learn emacs????

  7. Could people actualy be RTFA? by budgenator · · Score: 2, Insightful

    Intersting the author appears to be presenting the "atheist" point of view, into a subject the stirs religious rants amongst the editor's loyalist.

    What I'd like to find and or write is a good PHP/HTML mode for emacs, or even a CPAN/CTAN clone for emacs modes and scripts.

    --
    Apocalypse Cancelled, Sorry, No Ticket Refunds
  8. GNU Emacs Manual Is Excellent by Anonymous Coward · · Score: 5, Informative

    The GNU Emacs Manual available for free at http://www.gnu.org/software/emacs/manual/ is excellent. Printed versions are available too.

    Emacs also comes with a built-in tutorial that is a good interactive introduction to Emacs.

    If you are considering learning Emacs, yes, it can seem like an intimidating task. The interface and commands are nothing like what people are used to today. But it is certainly worth the effort learning Emacs and getting used to it.

    1. Re:GNU Emacs Manual Is Excellent by grumbel · · Score: 4, Informative

      ### Emacs also comes with a built-in tutorial that is a good interactive introduction to Emacs.

      It not only comes with a tutorial, the editor itself is completly self-documenting.

      Don't know what a key combo means: 'C-h k' then enter the combo
      Don't know what a function means: 'C-h f' then the function name
      Don't know whats available: 'C-h a' to search through all commands
      Wanna know what other commands are hiding behind 'C-x ...': 'C-x C-h' to get a list

      All the stuff you get as results is hyperlinked and Emacs even allows you to let you click through all that docu down the the actual line of source that performs the function. This self-documentation is something that I miss in almost every other app that is around these days and shows that Emacs, for all its problems, is still quite a few years ahead in some areas bejoint other 'state of the art' applications that people use these days.

    2. Re:GNU Emacs Manual Is Excellent by SquadBoy · · Score: 2, Funny

      Because you gimp yourself.

      I too was once like you. Then I found myself at 0230 hrs dialed into a firewall on a 56k modem that wasn't pulling anywhere even near 56k, trying to teach myself vi cause it was the only text editor on the box.

      It was at that point that I groked the need to know a text editor that is almost everyplace, fast, and can be used with no GUI. And to be able to use it in your sleep. That's why I now only use vi.

      Sure if you never mean to really do anything guis are fine. But if you are ever going to step up to the plate and put on your big boy pants vi is the only way to fly.

      --

      Cypherpunks: Civil Liberty Through Complex Mathematics. Those who live by the sword die by the arrow.
  9. A lot of words by Red+Flayer · · Score: 2, Interesting

    "Instructions are given in a way that reflects the fact that there are multiple ways to achieve the same outcome; the authors do not attempt to foist "the only way" to accomplish something upon the reader."

    Do the authors discuss the relative benefits and drawbacks of each method? Do they discuss when it is and isn't appropriate for each? More info on this would be helpful.

    "Readers do not go for very many pages before it is time to be at the keyboard again, harnessing the power of muscle memory to reinforce the material presented."

    This is not muscle memory. This can be called learning through use. If the reader were to repeat the intended action 5,000 times, then maybe it could be called muscle memory.

    My impression from the review is that the book will:

    Give me the basics of Emacs use, and how they differ sometimes on different platforms;
    Give me mnemonics to memorize keyboard shortcuts;
    Show me multiple ways of doing some things;
    Show me how to use basic Emacs with different languages, in some common situations.

    So, my understanding from reading the review is that this is an fairly thorough introduction to Emac use that is easy to understand and doesn't bother with extraneous material.

    Am I off base here?

    --
    "Trolls they were, but filled with the evil will of their master: a fell race..." -- J.R.R. Tolkien on Olog-hai
  10. IDE vs Emacs vs Jove all have their place by TheNarrator · · Score: 3, Informative

    I like Emacs and its brethren, however, I don't do software development in Emacs anymore. Full blown IDEs like Eclipse are really worth the power, especially since they are able to semantically understand source code.

    However, when I just need to do some basic config file editing I use Jove which is a scaled down version of Emacs that has the same keys as Emacs but loads as quickly as vi.

    Emacs works great though when I have to interact in a complex way with the shell. For instance, I find it very useful when used in conjunction with command line SQL clients for Postgres, Mysql, or Oracle. The history and multiple command buffers are great for working with these command line clients. When I work with Oracle DBAs they are often impressed with how powerfully I can use SQLPlus from inside of Emacs.

  11. Refcards.com by bokumo · · Score: 5, Informative

    I learned emacs in school, but by far the most helpful thing was the PDF reference card I printed up and carried with me. You can get the emacs card at http://refcards.com/

    --
    Physicists do it with a big bang!
  12. Tim O'Reilly on vi or emacs by Noksagt · · Score: 4, Informative
    Reference:
    Despite emacs' higher profile as a free software poster child, I think more people actually use vi than emacs. We sell more copies of our vi book than of our emacs book -- almost twice as many each year. This could be because emacs has a free manual that is distributed with it. But I saw a matching statistic at Linux Expo, where O'Reilly sponsors a vi vs. emacs paintball game each year. I happened to check the signup list, and noticed that there were about twice as many people signed up for the vi team as for the emacs team. (Maybe they just like the vi t-shirt -- the team "uniform" -- more than the emacs t-shirt, but I don't think so.
  13. The problem with Emacs... by doublem · · Score: 3, Funny

    Emacs is a great operating system, but it needs a better text editor.

    --
    "Live Free or Die." Don't like it? Then keep out of the USA
  14. Hefty tome by Dachannien · · Score: 5, Funny

    534 pages, 437 of which contain a table of all the keyboard shortcuts.

  15. Re:Hand hurts after using Emacs all day by mrpotato · · Score: 2, Informative

    I don't really see why your right hand would hurt much, but still, here's my trick for Emacs hand comfort: make sure you use a keyboard where the left Control key sticks out well. That way, you can press Control with only the side of your hand, instead of having to use your pinky finger.

    Think of this as a sixth finger for your hand. The shape of your hand was intelligently designed to use Emacs that way.

    --

    cheers
  16. emacs is awesome... by Anonymous Coward · · Score: 3, Insightful

    ..yet I hardly ever use it.

    I used to use Emacs for development, vi for sysadmin, but once I discovered Vim, I've started using Emacs less and less for dev, except when hacking Lisp (using SLIME.. you just can't do Lisp effectively without an editor at least as powerful as Emacs).

    I can really appreciate Emacs, and I love Lisp (being able to code some quick Lisp right in the middle of an email reply is pretty damn cool for instance), but I just don't *need* that kind of flexibility. And the lack of consistency with Meta keys is frustrating (on my Mac, Carbon Emacs uses command, the terminal uses option, but on other machines I have to fall back on Esc).

    I noticed the new Emacs has a built-in spreadsheet, by the way (M-x ses-mode). It's actually pretty cool (the cells are Lisp expressions, and the code is checked for dangerous operations before being excecuted). It's also a sign that maybe Emacs is a little TOO flexible???

    Anyway, I'm not sure the point of this post, except that everybody should at least give Emacs a try.

  17. Re:How do I get out of this?? by CanadaDave · · Score: 2, Funny

    Close your browser!

  18. here's an ancient joke by middlemen · · Score: 3, Funny

    Dude: "You have to leave now!"
    Stallman: "Do you know who I am ? I made EMACS!!"
    Dude: "I don't care. I use vi."

  19. All I know is by doublem · · Score: 2, Funny

    All I know about Emacs is that all the Emacs books are in the MAC/Apple section of my local Barnes and Noble.

    So it must be a MAC thing, and since I use Windows...

    --
    "Live Free or Die." Don't like it? Then keep out of the USA
  20. Re:What is Emacs? by Billly+Gates · · Score: 2, Funny

    Is there something that Emacs can't do?

    Come with a good editor that doesnt require obscure unlogical keystrokes.

  21. Re:teco? by HuguesT · · Score: 2, Informative

    Look at the official Emacs FAQ.

    Short answer, yes it does.

  22. EMACS for Development by ewhac · · Score: 4, Insightful
    One of the things I've often noted about EMACS users is that they seem so effective. A couple former colleages of mine would flip around at amazing speed, getting to the exact point in the code they needed, make a change, launch a build in a separate EMACS window, and the error output would take them to the correct line in the broken file where they'd fix it.

    Granted, most of the other editors do this, too. I've been using 'vi' variants for over 20 years, and have currently settled on VIM. Most of them have built-in help for parsing build output, but it just seems so much clunkier than when I watch an EMACS user do it.

    What I'd really like is a book or HOWTO that's focused on effective software development using EMACS. The general-purpose "learning" books just don't get into that kind of narrow depth.

    Schwab

    1. Re:EMACS for Development by meowsqueak · · Score: 2, Informative

      If you rebind the control input to the caps lock key (like the old style keyboards) then these 'crazy' keyboard combos become easier.

    2. Re:EMACS for Development by sanjoymahajan · · Score: 2, Informative

      Agreed, rebinding caps lock -> ctrl is a must. And type ctrl-[ instead of escape, since the escape key is usually hard to reach and anyway its position varies from keyboard to keyboard. ctrl-[ is also easier to reach than the alt key is (important for alt-x in Emacs).

  23. Emacs doesn't do email well...what?!? by Bob+Uhl · · Score: 2, Insightful
    For example, while Emacs does have the capability to function as an email client, other applications have long superseded its ability.

    I'll have the reviewer know that I use gnus for my email and news reading, and it's perfect for the task. I've still yet to find a program which has as many features, and yet to find one which is accessible over a command-line as well as through a GUI.

  24. emacs's ultimate power.. the shell by acomj · · Score: 4, Informative

    I run a shell in emacs (esc-x shell). It works great for searching through reams of command line job output and is slightly easier the piping to a file then searching through it (less, more etc...)

    Its better than xterm -sl XYZ (set scroll lines to XYZ)

  25. outdated joke by namekuseijin · · Score: 4, Insightful

    "Eight Megs And Constantly Swapping"

    next to the "Over Eighty Megs And Constantly Swapping" of nowadays heavy-duty IDEs, Emacs is as feather-weigth as vi.

    --
    I don't feel like it...
  26. Re:Hand hurts after using Emacs all day by EvanED · · Score: 2, Interesting

    Agreed. I flop caps and ctrl (even in Windows) and have never looked back.

    The Sun layout with respect to that is, IMO, vastly superior to the PC layout even w/o the Emacs benefit.

    (Of course, I suggest you don't actually get a Sun keyboard, because the location of backspace (no longer at the corner) is an abomination. If you have to use one, may I suggest the following:
    (global-set-key "`" 'backward-delete-char-untabify)

    (Add that to ~/.emacs) That will fix that braindead decision. I've been known to run a shell from inside Emacs when I'm working on a Sun just so that I can press backspace in the normal location and it will work.

    I'd have moded you up but I wanted to take that pot shot at the Sun layout.)

  27. Emacs solved by drxray · · Score: 2, Funny

    Why buy a book when the solution to Emacs is right here:

    get shovel, look shovel, e, e, dig, look, get cpu, look cpu, se, get
    food, se, look bear, drop food, look, get key, sw, get bracelet, ne, nw,
    nw, ne, ne, ne, e, look bins, w, w, put cpu in computer, type, toukmond,
    robert, ls, uncompress paper.o.Z, exit, look paper, type, ftp gamma,
    anonymous, toukmond, binary, send lamp.o, send shovel.o, send key.o, send
    bracelet.o, send paper.o, quit, rlogin gamma, worms, get lamp, get
    shovel, get key, get bracelet, get paper, e, n, e, drop shovel, drop key,
    drop bracelet, drop paper, get weight, d, drop weight, nw, u, get
    statuette, look statuette, get floppy, se, d, nw, ne, drop floppy, w, s,
    e, turn dial clockwise, turn dial clockwise, turn dial clockwise, turn
    dial counterclockwise, turn dial counterclockwise, turn dial
    counterclockwise, w, n, e, get life, get shovel, get key, get bracelet,
    get paper, get floppy, d, nw, u, se, d, nw, nw, s, s, s, s, put diamond
    in chute, put bracelet in chute, s, get gold, e, e, s, d, look urinal,
    put gold in urinal, flush, n, sleep, d, sw, e, u, dig, look, get
    platinum, d, w, ne, u, s, put platinum in urinal, flush, n, d, sw, w, d,
    e, get towel, look towel, d, s, s, s, look pc, put floppy in pc, reset, ,
    dir, type foo.txt => xxx (combination), exit, n, n, n, n, n, u, look box,
    put key in box, u, u, ne, ne, get axe, d, n, w, xxx (combination), cut
    cable, exit, get key, e, n, get lamp, get license, get silver, w, put
    silver in mail, n, n, e, e, e, e, e, get coins, get egg (in rooms 60 to
    78), w, w, w, w, w, s, s, put egg in mail, put coins in mail, n, n, n, n,
    e, e, e, e, e, look bus, in, s, s, s, w, w, w, w, w, nw, out, n, get
    bone, e, e, get nitric, press switch, n, get glycerine, w, look bone, get
    jar, get ruby, s, w, s, in, se, out, e, e, e, e, n, n, put nitric in jar,
    put glycerine in jar, drop jar, in, n, n, put ruby in disposal, d, get
    amethyst, u, put amethyst in disposal, d, ne, sw, u, u, w, w, s, w, s,
    se, s, e, s, w, type, rlogin endgame, drop license, drop bone, drop key,
    get diamond, get gold, get platinum, get amethyst, n, n, n, n, get bill,
    n, get mona, s, drop bill, drop mona, drop diamond, drop gold, drop
    platinum, drop amethyst, s, s, s, s, get silver, get egg, get coins, get
    ruby, get bracelet, n, n, n, n, n, drop silver, drop egg, drop coins,
    drop ruby, drop bracelet, n, quit,

    I'm afraid I can't help you with Emacs Tetris.

    --
    Slashdot - Mutual Assured Discussion
  28. shells vs emacs by tendays · · Score: 2, Informative

    Emacs shell mixes up too much command input and output to my taste...
    Then most shells (and every program using the readline library) support the Ctrl-R function to search through command history, just like emacs.
    For searching through command outputs there are terminal emulators like konsole that provide such functions...
    Check man readline you'll be surprised how much of emacs functionality you have in your daily shell!

  29. Try Aquamacs Emacs on Mac OS X by alispguru · · Score: 2, Informative

    And the lack of consistency with Meta keys is frustrating (on my Mac, Carbon Emacs uses command, the terminal uses option, but on other machines I have to fall back on Esc).

    Aquamacs (Carbon Emacs with settings to make it more Mac-like) cleans up a lot of that stuff. If you map meta to option, you can even use standard Mac keystrokes (command-S -> C-X C-S, command-Q -> C-X C-C, etc.). And SLIME works well under it - Aquamacs + Lisp-in-a-box without Emacs worked for me right out of the box (so to speak).

    And, its default font is so much prettier...
    --

    To a Lisp hacker, XML is S-expressions in drag.
    1. Re:Try Aquamacs Emacs on Mac OS X by hardcoreUFO · · Score: 2, Interesting

      I think the Aqua and Carbon emacs are both terrible. If you are going to have an Aqua version of emacs, you could at *least* not use gnome icons in the toolbar. I'm not sure what the motivation for doing Aqua was if it ends up that ugly.

  30. Faster starting by meowsqueak · · Score: 2, Interesting

    Emacs has a feature where it can save it's entire state to disk as an executable binary. If you subsequently invoke this binary, Emacs starts up extremely quickly with the restored state, bypassing the usual initialisation and dot-emacs processing. A very neat feature IMO.

  31. Vi more logical than emacs? Good one! by Prof.+Pi · · Score: 2, Informative
    Vi wasn't easy to learn either -- but while unintuitive, it is all logical

    Yes, because typing L to go right, K to go up, J for down and H for left is so much more logical than ^F for forward, ^B for backward, ^N for the next line and ^P for the previous line! (I realize non-English speakers will be hosed either way.) Or that a linefeed character has a special status in vi, so you can't just delete it, you have to "join" the lines it separates. Or having to switch constantly between "navigating" and "inserting text," instead of just doing whichever you need to do right away.

    This argument has been going on almost as long as the Catholic/Protestant thing. It seems once people get the habit of doing things one way, the other way is "strange" and "counterintuitive." Kind of like every other UI debate.

    To answer the GP question: you can get by with about 10-15 basic commands. Open up emacs or xemacs, then type control-H followed by a t (no control). This gets you into the tutorial. Learn the basic navigation, editing and file commands. This will enable you to do all you need to do. Get comfortable with these first, because most of the special modes (like Dired, which lets you navigate directories) use the same keys for analogous operations). Also learn how to do M-x commands, like query-replace. After that, just learn new things a few at a time. The ones that are most useful to whatever you're doing will be the ones you remember.

    It also helps to fix your keyboard. Try swapping cntl and caps lock if you're on a PC keyboard (the bane of emacs users), and using Alt as the meta key (great for the meta-based navigation).

  32. Re:Hand hurts after using Emacs all day by trash+eighty · · Score: 4, Funny

    stop using Emacs to surf porn then

  33. Re:What is Emacs? by HermanAB · · Score: 4, Funny

    EMACS is a text mode desktop environment. Sorta like KDE on chemotherapy. Strictly for masochists only.

    --
    Oh well, what the hell...
  34. Re:Hefty tome (spoiler) by Ingolfke · · Score: 2, Funny

    On page 498 the headmaster dies.

  35. GNU Emacs Manual Is Long, but not Excellent by Darkforge · · Score: 2, Interesting

    There's no reason why learning Emacs has to be intimidating, but it's misleading comments like this that make people believe that they don't understand Emacs.

    Do us all a favor and compare the Emacs Manual Table of Contents with the Learning GNU Emacs Table of Contents.

    The Emacs manual begins with an encyclopedic glossary of Emacs terms. 17 pages of terms, according to "Print Preview" in Firefox. Afterwards, you get index pages: a list of all the default keys, a list of all the default options (without even a link to a chapter explaining how to tweak an option), a command index (again, no info on how to run a command), a variable index (same deal), and a "concept index" full of links all over the manual. Finally you get to a very abstract section about how to interpret what's on the Screen, but still no information on how to actually use Emacs.

    The O'Reilly book begins with "Emacs Basics", an easy-to-follow guide to the beginnings of Emacs. It looks more like the Emacs tutorial in a plain text format.

    The Emacs "Manual" is a gigantic man page. It's not a "manual" in the sense that you're supposed to sit down and read it as a first introduction to Emacs. It's not a guide for people to read. It's a reference guide for you to go find information you already knew was there.

    I'll admit, the built-in tutorial is a much better introduction, but it leaves you at the novice level. You know how to push the cursor around, but you know *nothing* about how to set options, what a variable is, how to set them, etc. To get from here to there requires hours of reading random info pages to try to find what you're looking for. Nothing like reading a clear manual.

    Never recommend that a newbie to Emacs read the Emacs Manual. The Manual is for Intermediate users wishing to become Advanced. The Tutorial is for novices. For those wishing to get to the Intermediate level, this O'Reilly book isn't a half bad choice.

    --

    When I moderate, I only use "-1, Overrated". That way, I never get meta-moderated!

  36. Re:Bah by nherm · · Score: 2, Funny

    nherm@localhost:~$ cat > slashdot_post

    back in my days we dindt have those fancy text editors and we where hppy^H^H^H^Hhapy^H^H
    ^C
    nherm@localhost:~$

  37. Nice troll! by Some+Random+Username · · Score: 2, Informative

    For those who will fall for this: emacs was written in 1975, vi in 1976. So its very unlikely that emacs was written in response to vi, unless the MIT dudes had a time machine working. And vi was always free, it was written as part of BSD.

  38. Re:Hand hurts after using Emacs all day by Zed+Lopez · · Score: 2, Informative

    My favorite Emacs-specific ergo tip: avoid chording. It's not for nothing that Emacs is so massively configurable. I have:

    (define-key global-map [f1] 'Control-X-prefix)
    (define-key global-map [f2] 'find-file)
    (define-key global-map [f3] 'save-buffer)
    (define-key global-map [f4] 'kill-buffer)
    (define-key global-map [f5] 'switch-to-buffer)
    (define-key global-map [f6] 'other-window)
    (define-key global-map [f9] 'compile)

    in my .emacs (inspired by this.) I used to have a host of other things mapped all over the numeric keypad -- kill, yank, undo -- but I lost them at some point. I should re-create those.

    Also don't neglect a good setup (good posture, good keyboard, good pointing device), and stretch breaks at least once an hour.

  39. Please, please tell me by nagora · · Score: 2, Funny

    what the hell the /. icon for GNU topics is supposed to be? It looks like a little penis with a silly hat and a security blanket. WTF is it?

    --
    "Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
  40. Why I Use Emacs. by BBF_BBF · · Score: 2, Interesting

    Why I Started:
    1. I was forced to learn EMACS as the *only* text editor for CPSC200 by a Nazi like professor and his TA henchmen eons ago.
    1a. I was a unix newbie, so when told to use emacs and told nothing about vi... guess which one I'll use. Anyways when one is clueless [ESC]:q! is as incomprehensible as [CTRL]x-c. (Anyways cursor movement without using cursor keys sucked with both vi and emacs: the vi "hjkl" movement keys that worked only in certain modes vs. emacs' mnemonic [CTRL]bnpf movement keys... thank {place a deity here, or "DEC" you're athiest or an uber gEEk} for creating VT100 terminals and with it the defacto standard for cursor keycodes, and full screen cursor placement.)
    2. I actually used Wordstar before learning emacs, so incomprehensible control key commands were nothing new.

    Why I Continued to Use EMACS after CPSC 200 while in University:
    1. Unix boxes actually had a control button in a place that made control commands almost ergonomic.
    2. One only has so much time to learn other editors when one's busy trying to avoid studying by playing/tweaking MUD's, xtrek, xtank, compiling and trying out beta versions of NCSA Mosaic.

    Why I Still Use Emacs Today in an Embedded Development Environment Hosted Off MS Windoze:
    1. Same reason I use Linux, Firefox, etc: It's Open Source software so there are alot of gEEks smarter and have more spare time than me developing plugins, extensions, Emacs major modes, etc, etc, so as a result
    a) I have access to extensions that would take me forever to write myself, that's assuming I could even come close to implementing such feats of software prowess even if given an infinite number of monkeys to work with,
    b) I have the source code for the tool and the extensions, so I can modify and reconfigure them as I like if they don't exactly fit my needs,
    c) I don't have to beg to get some purchase order from the accountants to avoid getting the company into trouble with lawsuits for using *my* favourite commercial editor and conversely can use the same editor at home.
    2. I have the evolved my .emacs configuration from my university days and have transmuted from apollo Domain to SunOS to HP/UX to VMS and finally to Windoze XP with linux slotted in there for home use.
    3. It's entertaining watching your coworkers get all pissed off when trying to cut and paste on your Windoze computer because you've swapped the key mapping for CAPS LOCK and CTRL on the Windoze Keyboard and didn't bother to relabel the keys. Note it can get dangerous if your coworkers are near the end of their ropes because everybody's been working way too many hours to meet some artificial deadline that management has decreed upon the peons.
    4. Last but not least, Has anybody mentioned the easy macro programming? Without learning a line of lisp, one can create complex macros... and by just learning a smattering of lisp, make macros that will amaze your co-workers (except the unix gods that use only "ed" because they believe that "vi" is not light weight enough, let alone an editor that includes a lisp interpreter and many megabytes of elisp scripts... anyways who needs to see more than one line of text at a time.)
    5. Anyways it's gEEky to use Gnu Emacs ([flame suit on] not XEmacs, only weirdo's use that [flame suit off]). What other reason does a nerd need to do anything?

  41. Advanced users guide to VI by janwedekind · · Score: 2, Funny

    Chapter One: How to exit vi without rebooting the system.

    Chapter Two: Learn how to put all your C++ programs and LaTeX documents in a single file.

    Chapter Three: How to copy a block of text without having to count the number of lines.

  42. Re:charsets for emacs - eg PINYIN by jrumney · · Score: 2, Informative

    Emacs supports composed characters, so it should be possible to support putting the tone marks in the right place, even if they are saved as seperate characters in the buffer. The problem is that the internationalization features of Emacs are a bit of a black art that very few people know enough about to do anything with.