Fog Creek Software
Discussion Board

Learning emacs

To those that use emacs extensively, how long did it take you to become proficient?

John Topley (
Monday, July 19, 2004

Quite a while, I'm afraid.

It's a matter of ending up with the keysequences in muscle memory. Like learning to drive; eventually you stop having to faff around thinking about gears and pedals and it all becomes second nature, and you can then either start really appreciating the feel of the road through the seat or use your phone while you drive...

But it'll take a few days before you stop thinking "What *WERE* they thinking of?", and a few weeks before you stop swearing. Then it stops making grinding noises and starts making vrooming noises.

It's a longer learning curve than most editors, but then there's a lot more power lurking just a few keystrokes away.

Just remember CTRL-G gets you out of silly command modes you didn't mean to get into but had lost the home keys and above all, configure your terminal properly so "backspace" deletes backwards and "delete" deletes forwards. If "backspace" causes help to keep popping up it'll drive you bananas.

Katie Lucas
Monday, July 19, 2004

Define "proficient."

A month for basic editing to come naturally.  Two months to figure out how to navigate all the various help options efficiently.  A year to be brave enough to try to write some elisp to automate something.  Three years to have extensive automation through lisp programs.  Five years to have written a mode or two, and have onlookers go "what the hell? how did you do that?!" as you reorganize large swaths of code across multiple files and directories with a few keystrokes and have it all compile and test on the first try.

Ten years to realize you've spent ten years sitting staring at an emacs...

Monday, July 19, 2004

Emacs is like MS Word.  Although they both have 999 commands, only a dozen or so are essential and can be quickly learned. One useful thing I did with Emacs was to remap the cursor keys and associated PgUp/PgDn keys so they did the expected function.

Monday, July 19, 2004

Once I created my own key combinations to emulate the Windows UI, suddenly the emacs default keys came naturally to me. I guess when you can change something, it becomes simple to you.

One thing I did was pop up my .emacs file at first, having it show me a little cheatsheet. I don't look at it anymore, but it was really useful. There are many on the net to print out as well.

"Keyboard macros" are very useful to learn to automate tasks quickly without dipping into conventional coding. They simply record what you do, for executing later. I picked it up while looking through the Sams emacs book.

Emacs lisp becomes quite simple after reading Chassell's brief chapter in Salus's "Handbook of Programming Languages vol.4".  Inexpensive used. However, I might be biased since I knew a little lisp beforehand.

Finally, elisp macros were useful for making a nice-looking .emacs file. I hope the Chassell chapter touches upon them, but they're not hard.

Good luck, I don't want to give the impression Emacs is a cakewalk. But it disturbs me to use something less capable.

Tayssir John Gabbour
Monday, July 19, 2004

Oh, if you ever press Ctrl-PgDn, you can hit Ctrl-PgUp to get out. ;)

Tayssir John Gabbour
Monday, July 19, 2004

But more importantly, could someone proficient tell use Windows users about the _major features_ unique to Emacs over other editors like UltraEdit or TextPad, or even full-fledged programmers' editors like Zeus or CodeWright?

Monday, July 19, 2004

I use emacs because I have to (via unix ssh console). I prefer SlickEdit. But emacs lets you customize your editor via elisp and you can send/read email from it. If you are in front of MS windows or an Xwindows display I think there are easier more productive editors around.

Tom Vu
Monday, July 19, 2004

The single most important feature of Emacs is its design philosophy. The "ordinary" editors are done with most of their workings predetermined and some configurability/extensibility added. Emacs is like a specialized OS with an API and a bunch of Lisp applications running under it.  There are applications for working with files, reading/writing usenet news, managing MP3 collections, and practically everything where a text interface makes sense.  Emacs has been around for almost 20 years, and the wealth of applications is simply unparralleled.

But if you don't know what to do with such power, you're probably better off with just an editor, for which SlickEdit is an excellent choice.

Tuesday, July 20, 2004

BTW, you don't have to become really proficient with Emacs to achieve the same levels of productivity you have with a "normal" editor. In about one week you can learn essential keys and commands well enought.

True Emacs proficiency is about knowing Emacs Lisp and using it effectively to improve your productivity.

Tuesday, July 20, 2004

Fred, there's

Tayssir John Gabbour
Tuesday, July 20, 2004

To ease the learning process you can buy an emacs t-shirt with a list of common commands (printed upside down of course) or an emacs mug.  Failing that, I have a copy of some O'Reilly unix book next to my PC opened to the page of emacs common commands.

A lot of people just use a subset they feel comfortable with, but never really harness the power of emacs.

Furious George
Tuesday, July 20, 2004

Who in this God's country still uses Emacs?

Tuesday, July 20, 2004

"Who in this God's country still uses Emacs?"

I do, and I freaking love it.

For large text documents that need formatting? No. Languages that would benefit from an IDE, like C/C++, C# and Java? No. Email? No. Web browsing? No.

But if you're working in a language that doesn't need an IDE (e.g. Python, PHP, Perl, JavaScript, HTML, CSS, Ruby, shell, conf files), it's killer -- a great way to read, write, manipulate and move around the code.

That's my $.02


Joe Grossberg
Tuesday, July 20, 2004

*  Recent Topics

*  Fog Creek Home