Kyle Schmidt Software Craftsman

Emacs Beginner Resources

In October of 2015 I was thinking about branching out from Python, my first language and one that I had been using for about a year. I came across Peter Norvig’s essay Teach Yourself Programming in Ten Years and decided to learn Lisp which inevitably led me to Emacs. By then, I had been using Vim for about three quarters of a year and was familiar with the basics but I never felt comfortable. By now, I recognize that my lack of comfort in Vim at the time was due to the fact that I never gave it the respect it deserves. But in the process, I have stumbled upon something magical: a text editor… no, an operating system that is fully customizable and configurable to the way I work. Emacs is an environment that I have tailored so that no matter what I am trying to accomplish within a given day, I am still operating within the same familiar application.

However, my initial Emacs journey was slow to matriculate and I have since discovered teachings that I wish I had known when I began my Emacs pursuit. When I first started using Emacs, I was quick to attempt to customize my text editor, taking snippets of Emacs lisp from the masters’ init files. This soon grew unwieldy and I had Elisp snippets in my init that I had no idea of the functionality or benefit they provided. Instead, I have learned the importance of mastering basic navigation and keybindings pertaining to the major modes that I use the most. I didn’t discover this path on my own, this is the advice of redguardtoo. Since reading his advice, I went through the Emacs tutorial again taking care to deliberately practice and hone the basic keybindings. I then completed my first reading of the Emacs manual, started following blog posts, and reading the masters’ init files. At the same time, I read Mastering Emacs from which I gained an incredible amount of advice and knowledge. Through this book I learned the most important keybindings with which all Emacs users should be familiar, pertinent Emacs packages to go along with a basic Emacs installation, and most importantly how to ask Emacs questions using the built-in documentation when you need help. This book alone was an incredible resource; I wish I had read it sooner in my development and it will continue to be a resource that I constantly reference for help (along with the built-in Emacs info pages of course).

Let me know of some Emacs references that you found helpful during your development. What basic Emacs packages do you feel are pertinent to your workflow that I am missing from my init file?

comments powered by Disqus