
Step 1: Read "An Introduction to Programming in Emacs Lisp" It also sets the stage for the next step. The tutorial introduces the basic concepts of Emacs, clarifies historical terminology, and gets you going in under 30 minutes. You can also access it via Ctrl + h t, or C-h t in Emacs notation. There are a lot of misleading blog posts out there. Good on ya! However, for anyone coming to this at a later time, this is the place to start your Emacs journey. Read the Emacs Tutorial before anything else. What a great question! Here is the path I've taken: Step 0: Read the Emacs Tutorial C-h f (look up the description of an inbuilt function).C-h v (look up the meaning and value of a variable).Kill all buffers of a certain mode (there may be an internal function that already does this, but I did not know it).įinally, make sure you know the following keybindings: This involved writing a function that goes up the tree to the top level, and looks for a child called TODOs. Each meeting has its own TODOs headline, and it should go to the one for the current meeting in the file. When writing minutes during a meeting (in an org file), if a TODO for someone comes up, I want to do a capture that will look for a headline called TODOs (under the top level headline I am in) and place the TODO in there. But if I capture without refiling, it does. When I capture and refile in one step, it doesn't save the file the entry was refiled to. The fix was to make a hook that checks if there are any newlines, and if not, add one at the end of the capture. When you use org-capture, and you write text in the last line of the capture buffer, it does not put a newline at the end, and so if I had any headlines after the capture position, that headline would no longer be a headline.

You'll likely need help on some of the steps, and that's where Google can help you.Įxamples of problems I solved to practice my Elisp: Once you understand these, instead of spending all your time reading the ELisp reference, think of simple problems you have with Emacs that you want to write and try solving them with Elisp. There are a few things you should understand really well, as you'll use them often. This is vast, and you'll likely get lost in a sea of details. Once you have a grip on the basics (loops, functions, variables, conditionals, etc), move on to the aspects that involve Emacs itself (changing text, switching buffers, etc). Focus first on the former (should not be too hard as you learned Lisp in the past).

Realize that there are two aspects to Emacs Lisp: The basic language itself, and the interaction with Emacs. Instead, I finally used the included Emacs Lisp Reference.

In my experience, the included tutorial on Emacs Lisp was not too helpful (I tried twice over the years and failed).
