Hacker News new | comments | show | ask | jobs | submit login

Are there any websites/screencasts that show such "masters" in action?

I really can't see where the fuss is. And I particularly agree with the following comment on the page:

"Wow, you spent ten years learning how to use emacs. In the same period of time you have earned a PhD, learned a few foreign languages, scaled a few mountains, learned several other computer languages like F#, Ruby, Scala, C# 4.0, started your own dot com, and gotten into great physical shape..."

I know I'm being pessimistic here, but it's not without reason. Back when I was a teenager I spend hours, weeks, months tweaking with linux kernels and the OS in general to make it run as smoothly as possible. Back then it was my passion, and I did learn a lot. But at the end of the road I realised that I could have done so much with my time because all that knowledge is now either lost or obsolete due to newer versions of linux software coming out fixing old bugs.

I went down the path of trying to master vi. This was more for the sake of looking "l33t" in the linux community than any job prospects/etc. It was painful and made me appreciate eclipse and other IDEs a lot more.

There seems to be a perception out there that being able to code an entire stand-alone application using vi or emacs is really awesome and cool. This inspires beginners to want to be just as cool and elite. And when they find out it's gonna take years they see it as even more of a challenge (and some sort of ego-boost), without actually thinking of the return on investment.

I'm surprised your comment has been voted up, it hinges on the assumption that learning the intricacies of a programming tool, in this case an editor, prevents accomplishing anything else with you life.

There may be other people out there that use an editor, or an OS, to impress others; but from personal experience and those of friends, there are plenty of people that learn vi and Emacs because they needed to get things done.

The right tool for any job depends on the person. Someone familiar with the details of HTML and CSS would likely be better off not using a WYSIWYG editor, but for someone unaware of and uninterested in DOMs and stylesheets that editor would be great.

Whatever time you spend fiddling with your editor is time that you have not spent editing code. Over 10 years, it must add up.

What's dangerous is that the fiddling feels productive, even when you're just learning/making useless gimmicky features.

I've been using emacs for about a month now. I've definitely saved a lot more time than I've spent fiddling with it.

You won't really blow time fiddling with it until you get the hang of elisp. :) Then every little thing that bugs you makes you think, "Oh, I could just override this..."

(defalias 'yes-or-no-p 'y-or-n-p) ;don't bug me

This line is why I voted for his comment:

>Are there any websites/screencasts that show such "masters" in action?

Purely for the sake of motivation.

I can get things done with Textmate but I feel I've hit a wall in what I can do with it. I've used emacs off and on for about 6 months now and I really want to take it on full time.

I started using Emacs because I was interested in learning Lisp (and had been using vim for several years, so I figured it would shake things up). The thing I've seen that best captures how full-on Emacs wizardry looks is Marco Baringer's Slime screencast (http://common-lisp.net/project/movies/movies/slime.mov). It's a sort of IDE for Common Lisp. (Edit: Better link, thanks kirubakaran.)

While really learning the nooks and crannies of Emacs's functionality can suck up a lot of time, it's also not going anywhere. I've only been using Emacs for about three years now, FWIW, but I'm a bit of a toolsmith, and I've learned enough to teach others. (FWIW, I'd also jump ship if a better editor comes around, but Emacs and Vim are each good enough that getting sufficient momentum with a new editor to displace them would be incredibly difficult. The most interesting alternative I've seen is Acme / Wily from Plan9, but I don't like its mouse-y interface.)

The best way to learn Emacs is to start with the tutorial (start Emacs, then press Control-h and then t), and then learn how to use the built-in help system. Everything is meticulously documented, though sometimes with unfamiliar terminology. It helps if you have a focus, like learning how to run make, a Python interpreter, etc. inside it. The Emacs Wiki (http://emacswiki.org) has quite a bit of good advice, as well.

Don't forget to keep your Emacs config under VC. :) Extension recommendations - pabbrev, tagging.el, uniquify, saveplace, recentf, remember, midnight, anything, and emacs-w3m if you're using Unix.

I'd like to add ipython, ido, magit and escreen to the .el list.

And org-mode rocks :-)

Once you put in something like 10 hours towards learning Emacs, you'll become productive with it. After this initial investment, for every n minutes per day that you put it, you'll get m back in terms of increased productivity. In my experience |m| >> |n|. And remember that time saved = mt - n, where t is the number of days you have been reaping this productivity boost, and t tends to infinity. You won't "lose" any time after that (however, you can if you want to, by doing obscure fun stuff), and your productivity will continue to go up.

Marco Baringer's is the only good Emacs screencast I've seen so far. Please share if you find any other.

http://common-lisp.net/project/movies/movies/slime.mov [150MB]

I haven't gone through these yet, but you may want to check them out: http://www.emacswiki.org/emacs/EmacsScreencasts

Also, be sure to use this : http://steve.yegge.googlepages.com/effective-emacs

Being new to Emacs, I am wondering if you could enunciate how these gains might come in a particular case -- of course, a hypothetical one. Suppose Joe User has configured Auctex on a squeaky-clean Emacs 23 installation. Joe had been trying to understand coherent sheaves and Serre duality, and so, having spent the morning reading "Lectures on Riemann Surfaces" by R.C. Gunning, he took some notes with paper and pencil. Then, he wrote a corresponding set of notes in his brand new Auctex system. It was all running and well, and Joe C-x C-s'd and went to bed and dreamt of Gammas and Pics and Strange Os. Joe woke up the next morning and went into zazen, looking at the sun rising through the treetops in the forest behind his home.

And he did it again that day, and made a bit more progress, and learned a beautiful proof for Weierstrass's theorem using the induced sheaf cohomology of the exponential sheaf sequence. Joe decided to use Windows XP -- he didn't want to think about all that lisp stuff today, and having nothing but Internet Explorer 6 (Joe only reads one page at a time) and Notepad to do his work with, he wrote the rest of his Latex notes in Notepad. And he felt happy, and went to bed -- which wasn't a bed, just a floor, as Joe was really a minimalist sort of guy.


How will Emacs enhance his experience (in any broad sense)? He doesn't compile often. Come to think of it, he probably doesn't need the preview-latex function either. In which forms do these gains come for him? Generally, what is the least complex form of editing that Emacs can still produce gains for?

First biggest productivity gain[1] for Joe will be in using forward and reverse search for navigation (C-s and C-r in default key bindings).

  C-s or C-r, type a few chars, <Enter>, continue editing
is an amazingly powerful way to jump around even a simple text file. No arrow keys, no mouse. I dare Joe to use this feature for a few days and try to go back to Notepad. (You'll be using it even to jump to a different point in the same line.) Also Emacs can be as minimal as you want it to be.

[1] since he is on Notepad at the moment

kiru's point + keyboard macros & elisp & registers = hypercool

Any data formatting and parsing is extremely simple and easy, since this essentially becomes programming by doing. Much quicker than any other method I know and awesome for the many, many quick hacks one needs throughout the day.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact