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.

29 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 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. teco? by ackthpt · · Score: 1, Funny
    Just run EMACS in VI mode and watch everyone's heads explode.

    How about teco?
    Does it have a teco mode?

    --

    A feeling of having made the same mistake before: Deja Foobar
  4. 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!'
  5. 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.
  6. 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 rsheridan6 · · Score: 2, Funny

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

      --
      Don't drop the soap, Tommy!
    2. Re:Reviewed 9 months after publication! by Profane+MuthaFucka · · Score: 1, Funny

      No kidding. Emacs is so bloated because it has a lot of unnecessary software built into it. Did you know that Emacs has a psychiatrist program built into it? And did you know that there is a FLIGHT SIMULATOR built into Emacs? It's true. To see the flight simulator in Emacs, first you have to start up the Emacs simulation of MS Excel ...

      --
      Fascism trolls keeping me up every night. When I starts a preachin', he HITS ME WITH HIS REICH!
  7. Come on, do it right by Mr.+Underbridge · · Score: 3, Funny

    It's like this:

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

  8. 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
  9. Hefty tome by Dachannien · · Score: 5, Funny

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

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

    Close your browser!

  11. 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."

  12. 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
  13. 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.

  14. Re:Bah by Anonymous Coward · · Score: 1, Funny

    Real Vim users know that Perl's motto equally applies to their text editor.

  15. 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
  16. Re:Hand hurts after using Emacs all day by trash+eighty · · Score: 4, Funny

    stop using Emacs to surf porn then

  17. 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...
  18. Re:Hefty tome (spoiler) by Ingolfke · · Score: 2, Funny

    On page 498 the headmaster dies.

  19. 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:~$

  20. 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.
  21. 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"
  22. 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.