Emacs-related things I have learned recently:<p>* Sticky modifiers: I don't know why it took me so long for me to activate these. The difference between <i>holding</i> Ctrl <i>while</i> hitting another key or just <i>hitting</i> Ctrl once before the next key makes a huge difference for me.
<a href="http://www.emacswiki.org/emacs/StickyModifiers" rel="nofollow">http://www.emacswiki.org/emacs/StickyModifiers</a><p>* Got an old-styled Thinkpad keyboard with the trackpoint buttons below the spacebar? I mapped the left button to C-x and the right one to M-x. These buttons are PERFECT for this purpose. I would have mapped them system-wide to Ctrl and Alt but didn't find a solution for doing that in Debian (console/tty).<p>* Helm: Incremental completion and selection narrowing. Makes it a lot easier to find those commands which you sort-of-remember-the-name-of:
<a href="https://github.com/emacs-helm/helm" rel="nofollow">https://github.com/emacs-helm/helm</a><p>* Sunrise Commander: MC-ish file explorer, based on Emacs's Dired:
<a href="http://www.emacswiki.org/emacs/Sunrise_Commander" rel="nofollow">http://www.emacswiki.org/emacs/Sunrise_Commander</a>
When I was in college I had the privilege to work on a project with a developer that understood emacs as on operating system and used it as a way of life. When we started the project he would yell at me whenever I took my hand off the keyboard and tried to use the mouse. Finally he started to hit my hand with a ruler when I would lift it up.<p>My emacs skills are still probably only 1% of his, but after working that short time with him I have never been able to fully feel comfortable using textmate or sublime text. I always come back to emacs, even though the learning curve even years later is still there. Just feels like the right tool to me.
Great work with this tutorial! It's a nice intro guide to Emacs.<p>One thing I'd recommend adding in the introduction is that even though Emacs can be daunting to learn in the beginning, the effort is worth it because it will eventually become your editor for everything, not just Clojure.<p>Have to start programming in a different language? Emacs is there for you.
Want to write an e-mail message? Emacs is there for you.
Want to keep a TODO list or a calendar? Emacs is there for you.<p>This fact was lost on me when I first started with Emacs many years ago. I had come from using "easier to use" editors like EditPlus and Visual Studio. After trying to use Emacs for a week, I gave up in frustration and didn't touch it for another year. I've been using Emacs for about 11 years since then and I think I wouldn't have dropped it if I had been told "I know it seems hard now, but it's extremely powerful and it can become your one program for everything, on any platform you will ever use".
I had tinkered with emacs over the years but mostly used vim for programming, until the past year or so when I started writing Haskell and LaTeX for school and put in a determined effort to use Emacs full time. I've found I like a 'regular' text editor more than vi's modes, and that (like rickdale's comment) when I've tried out other editors like Textmate or Sublime Text, they feel like they're missing something compared to the raw extensibility of Emacs. (What that something is I'm not quite sure and - I just feel like if I want an extensible editor, emacs is the best. Strong opinion weakly held I guess)<p>My advice to new users is to start simple and try to only add in extensions/modifications when you hit pain points. I added some universally useful/specific ones early on like AuCTeX, a solarized theme, turning on syntax highlighting, haskell-mode, and so on, but I've found that piling on a ton of plugins and getting away from the 'default' behavior makes it much harder to create a comfortable workflow. This is also why I'm not a fan of stuff like Prelude or emacs-starter-kit.
This is a great intro! I've been using Emacs since 1996 or so and I still learned a new key: M-m, which will go in my lexicon immediately.<p>BTW, "M-g g" (goto-line) is also bound to "M-g M-g" which I find much easier to type.<p>Another thing I discovered way too late about Emacs was the "q" key. When you're in a read-only buffer like a diff, a man page, an Emacs help page, or an info page, pressing "q" will bury the buffer and close the window (if it wasn't open before the buffer appeared). I find this tremendously useful.
> There are other options, like Aquamacs, which are supposed to make Emacs more "Mac-like", but they're problematic in the long run because they're set up so differently from standard Emacs that it's difficult to use the Emacs manual or follow along with tutorials.<p>Having used emacs on linux, windows and now mac I disagree with this - though aquamacs introduces some (annoying, to me) functionality, you can simply turn these off and it works just like emacs in any other environment.<p>I have found aquamacs works better with ansi-term + with full-screen functionality than vanilla emacs, and I use both these functions enough to not want to go back.
As an Emacs beginner and budding Clojure programmer in early 2012, I benefited greatly from Bozhidar Batsov's Emacs Prelude:<p><a href="https://github.com/bbatsov/prelude" rel="nofollow">https://github.com/bbatsov/prelude</a><p>I highly recommend it, and have been very pleased to see it get better and better over the past year+.
Finally an introduction that has screenshots which don't remind you of the 70's.<p>Fonts and color schemes do matter, specially nowadays with the likes of Sublime and Textmate. Even more so for new users.
I started using emacs about seven years ago after about eight years of exclusively using vim, primarily because I wanted to see what the editor war's were all about (and because I got the blues from work and needed something uplifting...) I agree with the learning curve, and constantly am fine tuning my setup and configuration, but once you've mastered the basics, it truly becomes one of the most powerful editors. Plus it is constantly evolving (e.g., multiple cursors).<p>Another good emacs guide that I came across recently is:<p><a href="http://m00natic.github.io/emacs/emacs-wiki.html" rel="nofollow">http://m00natic.github.io/emacs/emacs-wiki.html</a><p>Additional resources I found helpful:<p><a href="http://www.emacswiki.org/emacs/EmacsNiftyTricks" rel="nofollow">http://www.emacswiki.org/emacs/EmacsNiftyTricks</a><p><a href="http://web.psung.name/emacstips/essential.html" rel="nofollow">http://web.psung.name/emacstips/essential.html</a><p>Plus, check out the videos from Magnar Sveen's emacs rocks:<p><a href="http://emacsrocks.com" rel="nofollow">http://emacsrocks.com</a>
After about a year developing a love/hate relationship with Vim I've finally had enough. After reading this post I think I'm ready to make the switch. Very good writing. Thanks for posting it.
Irrespective of the merits of emacs itself, this feels like a nearly perfect introductory tutorial. I've never seriousny used emacs, but this made me want to go try it and made me feel like I would probably succeed. Good show, whoever wrote this.
I also recently started using Emacs. Not much progress in learning, yet, though.<p>It would be nice if someone made a nice starting package that would set it up more sanely for all the IDE-oriented people (basically take what modern IDE can do out of the box and setup Emacs that way). Something similar to what Ubuntu did for Linux. I have seen lots of personal configs on Github, and read lots of Emacs Wiki on how to set this and that, but it's still quite a struggle for me. Part of the struggle is that there are too many options sometimes.<p>Maybe someone will have a good suggestion regarding this.<p>Edit: Someone mentioned Prelude, didn't know about it. That looks good, like something I wanted.
I tried to get into Emacs on OS X a few times, but one of the things I don't like is the awkwardness of not having the Meta key mapped to a direct simple key press.<p>Activating the "Use option as meta key" isn't a good solution because I sometimes need to type accented characters that require the option key.<p>How do people deal with this when using Emacs in the OS X Terminal app?
Question to the Emacs crowd: how do I hit Alt comfortably? My instinct is to use my left ring finger, but have trouble doing that without moving my other fingers much. Could it be because I have very large hands (or because my keyboard sucks)? Is it a good idea to just remap capslock to be the meta key?
I'm learning Emacs for class, and I was wondering: do you use the same hand to hit the command/meta keys? For example, when I'm doing C-n or C-p, I am currently hitting the command key with my left hand, but the identifier with my right. Is this the normal way, or do most people use one hand to execute a command?
I've been using vim for 3-4 years now. The plugin system is alright, but it's nothing to brag about. It's an amazing editor, but I think I'm going to try emacs + evil for a bit.<p>I almost added some other claims but I couldn't put them into words correctly, so I'll just leave it at this :D
The best feature of emacs is running shells in buffers. For interactive work, this is supremely useful because you can easily search your history, grab previous lines/chunks of code, and edit them into future commands. I do this all the time for data exploration with python.
I am not a developer but am learning programming. I picked up vim and have slowly build memory muscle for it for at least basic commands. I have never use Emacs. It seems to be quite popular. Is it worth learning? Is there a decisive answer to Emacs vs vim?
What benefits does Emacs have over something like Sublime? All I can see is you can customize a million key binds so you don't have to use the mouse. Sorry but I'm not racing type to as fast as possible when I write code, I don't mind spending an extra second and using a cursor.