How can I start learning Emacs Lisp?
Background:
I'm mostly a vi user and am converting to Emacs.
Past the basics and now use it for writing code in C and some Python with plans to do an R conversion too.
I wrote (Common) LISP for years over two decades ago when I was in grad school but now I've severely lapsed (can write hello world but that's it).
Question:
What would you recommend for a guy in my position to get learning the Emacs LISP environment and start hacking Emacs.
Are there books, blogs, resources I should read, exercises I should do?
elisp common-lisp learning
add a comment |
Background:
I'm mostly a vi user and am converting to Emacs.
Past the basics and now use it for writing code in C and some Python with plans to do an R conversion too.
I wrote (Common) LISP for years over two decades ago when I was in grad school but now I've severely lapsed (can write hello world but that's it).
Question:
What would you recommend for a guy in my position to get learning the Emacs LISP environment and start hacking Emacs.
Are there books, blogs, resources I should read, exercises I should do?
elisp common-lisp learning
add a comment |
Background:
I'm mostly a vi user and am converting to Emacs.
Past the basics and now use it for writing code in C and some Python with plans to do an R conversion too.
I wrote (Common) LISP for years over two decades ago when I was in grad school but now I've severely lapsed (can write hello world but that's it).
Question:
What would you recommend for a guy in my position to get learning the Emacs LISP environment and start hacking Emacs.
Are there books, blogs, resources I should read, exercises I should do?
elisp common-lisp learning
Background:
I'm mostly a vi user and am converting to Emacs.
Past the basics and now use it for writing code in C and some Python with plans to do an R conversion too.
I wrote (Common) LISP for years over two decades ago when I was in grad school but now I've severely lapsed (can write hello world but that's it).
Question:
What would you recommend for a guy in my position to get learning the Emacs LISP environment and start hacking Emacs.
Are there books, blogs, resources I should read, exercises I should do?
elisp common-lisp learning
elisp common-lisp learning
edited 24 mins ago
Dan♦
20.8k547108
20.8k547108
asked 18 hours ago
user1172468user1172468
273126
273126
add a comment |
add a comment |
6 Answers
6
active
oldest
votes
What a great question! Here is the path I've taken:
Step 0: Read the Emacs Tutorial
Read the Emacs Tutorial before anything else. It sounds like you've done this. Good on ya! However, for anyone coming to this at a later time, this is the place to start your Emacs journey. There are a lot of misleading blog posts out there. They over complicate things. Emacs makes it easy:
- Start Emacs
- Press
<RET>
You can also access it via Ctrl + h t, or C-h t in Emacs notation.
The tutorial introduces the basic concepts of Emacs, clarifies historical terminology, and gets you going in under 30 minutes. It also sets the stage for the next step.

Step 1: Read "An Introduction to Emacs Programming"
The next step is to read An Introduction to Emacs Programming. I cannot recommend this book enough; it's so well written! It comes with most Emacs installs1. Simply press C-h i and select it from the menu. You could also go to it directly via C-h i m Emacs Lisp Intro.
The Preface states,
This text is written as an elementary introduction for people who are
not programmers.
It should say "for people who are non-Lisp programmers." Lisp is a little different from other languages, so it's worth reading if you've never used Lisp before. The author has an approachable style and walks through many examples. It took me about a week to work through.
Step 2: Read OPC (Other People's Code)
2a. Read the source code
Because Emacs is "the extensible, customizable, self-documenting, real-time display editor", all the source code is included. Learn to use the help features, C-h f for a function and C-h v for a variable. There is always a link to the source code:

2b. Read all the init.el's
A lot of people track their init.el files in Git or Mercurial. Seek them out. One trick is to click on people's profile on StackOverflow, especially emacs.stackexchange.com:

They often have links to their GitHub or personal website:

Repos called dotemacs are quite common. Over time you'll get a sense of what good code looks like and what bad code looks like. You'll also learn the big names, like those of Xah, Sasha Chua, binchen, Magnar Sveen, abo-abo, and many more. There are so many people to learn from!
Step 3: Hack on Emacs
Challenge yourself to write the functionality you want. Never copy code blindly; always take the time to understand it. If you don't understand it, don't use it! When you take the time to understand a piece of code, not only do you learn something new, you often think of ways to improve it for your particular use case. This is an opportunity to hack! After all, that's what your init.el is for! Make mistakes, break things, learn to debug. You'll find that because Emacs is written in Elisp, development is a delight.
Step 4: Ask questions on emacs.stackexchange.com
I've found that the Emacs community on StackExchange loves a good Elisp question. So, hack with confidence that other people will appreciate your efforts to learn.
Step 5: Answer questions on emacs.stackexchange.com
Nothing clarifies your understanding like trying to explain something. Trolling the main page, you'll also find answers to questions you never knew you had.
Conclusion
Over time you'll find yourself able to generate solutions faster and to answer other people's questions. Like all programming, it can be frustrating. However, remember to judge yourself today against yourself yesterday. Some people have been hacking on Emacs for, literally, 30 years! Most of the time, though, you'll find that Emacs is a pleasure to work with and the freedom it gives you is inspiring.
Happy hacking! :)
PS: Check out the package evil.
1 Some installs don't come with it. Debian users, for instance, must install it separately. It's kind of silly, but it's stored in the non-free repos. Add a non-free repo to /etc/apt/sources.list by appending non-free to the end of each entry:
deb http://http.us.debian.org/debian stable main contrib non-free
add a comment |
I recommend the "Emacs Lisp Intro".
The "Emacs Lisp Intro" might be already available in info format within your Emacs. Try C-h i m Emacs Lisp Intro RET or evaluate (info "(eintr) Top") in Emacs.
If this fails search the web for "Emacs Lisp Intro".
add a comment |
Start with the Emacs Wiki page Learn Emacs Lisp.
Not that that page itself will teach you Emacs Lisp. It will instead point to learning resources -- exactly what you're looking for here, with your question. Many users have contributed to it and edited it over a period of years. That presents advantages as well as disadvantages wrt one user's blog. The quality of suggestions there is of course various, because of the variety of inputs.
Beyond that - everything that others here have said, especially starting with the built-in doc of Emacs:
The Elisp manual - mostly a reference, but some good usage guidance and conceptual info too. It's built into Emacs:
C-h ithen choose the Elisp manual.The Emacs Lisp Intro - step-by-step intro to Lisp and Emacs Lisp. Also built into Emacs and available from
C-h i.
Since you've used Common Lisp it will be super easy to pick up Emacs Lisp. Consider yourself lucky about this.
If you had used Common Lisp (or Zeta Lisp or whatever) on a Lisp machine then the experience would be quite similar. You can think of Emacs as (among other things), a great Lisp environment. You can go from zero to 60 in no time, when learning.
Have fun!
add a comment |
Since you have a background in Common Lisp and you're "past the basics", there is no point getting lost in the "Introduction to Programming in Emacs Lisp".
What you can do right away (I don't have a background in CL and it worked for me) is:
1) find a mode that you use and try to add functions, you'll find help in the Emacs Lisp Reference
2) write your own custom file with your own simple functions, here again use the Emacs Lisp Reference
The help-gnu-emacs list is extremely helpful.
New contributor
brandelune is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
What would you recommend for a guy in my position to get learning the
Emacs LISP environment and start hacking Emacs.
I really don't think you need to read something specific on emacs lisp. It's no secret that if you want to do something in Emacs, chances are, you just have to find the right command or someone has written the code already and it now resides somewhere on a wiki page, or github, or was made into a plugin. Just by copy-pasting that code and reading it, you will have learned a fair share of Emacs lisp by the time you are even somewhat satisfied with your .emacs.
If you want to get some ideas on how to customize Emacs, custom configurations by other people might be a good source of wisdom. A selected list of such configurations you can find here.
Browsing MELPA got me to install and try maybe a dozen of packages.
If you are going to develop a plugin, I found that reading the code of some particular plugin of your liking can get you started fairly quickly.
Since you use vi, check out evil-mode, it has worked great for me. I would also recommend helm with helm-apropos (or just apropos if you don't want helm) command to make your journey easier.
So, my advice is to get to the customization point right away and you will learn everything you need on the go. Especially that you hacked lisp before, long ago or not, and because learning elisp is, as far as I can tell, a means to an end for you, which is to customize emacs.
add a comment |
As a refresher on Lisp I highly recommend the first three chapters of Peter Norvigs Paradigms of Artificial Intelligence Programming. Those give you a great and fast pace (re)introduction to Lisp which will get you back on track quickly.
For total noobs there is COMMON LISP: A Gentle Introduction to Symbolic Computation which teaches you the same concepts but at much lower pace.
After going through one of the above, you can read all Elisp tagged posts on nullprogram.com and go through the reading guide at masteringemacs.org. To learn about common pitfalls reading the top questions here will be of help.
After doing the above the Info manuals will usually answer any further questions that come up when hacking on Emacs.
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "583"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2femacs.stackexchange.com%2fquestions%2f47318%2fhow-can-i-start-learning-emacs-lisp%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
6 Answers
6
active
oldest
votes
6 Answers
6
active
oldest
votes
active
oldest
votes
active
oldest
votes
What a great question! Here is the path I've taken:
Step 0: Read the Emacs Tutorial
Read the Emacs Tutorial before anything else. It sounds like you've done this. Good on ya! However, for anyone coming to this at a later time, this is the place to start your Emacs journey. There are a lot of misleading blog posts out there. They over complicate things. Emacs makes it easy:
- Start Emacs
- Press
<RET>
You can also access it via Ctrl + h t, or C-h t in Emacs notation.
The tutorial introduces the basic concepts of Emacs, clarifies historical terminology, and gets you going in under 30 minutes. It also sets the stage for the next step.

Step 1: Read "An Introduction to Emacs Programming"
The next step is to read An Introduction to Emacs Programming. I cannot recommend this book enough; it's so well written! It comes with most Emacs installs1. Simply press C-h i and select it from the menu. You could also go to it directly via C-h i m Emacs Lisp Intro.
The Preface states,
This text is written as an elementary introduction for people who are
not programmers.
It should say "for people who are non-Lisp programmers." Lisp is a little different from other languages, so it's worth reading if you've never used Lisp before. The author has an approachable style and walks through many examples. It took me about a week to work through.
Step 2: Read OPC (Other People's Code)
2a. Read the source code
Because Emacs is "the extensible, customizable, self-documenting, real-time display editor", all the source code is included. Learn to use the help features, C-h f for a function and C-h v for a variable. There is always a link to the source code:

2b. Read all the init.el's
A lot of people track their init.el files in Git or Mercurial. Seek them out. One trick is to click on people's profile on StackOverflow, especially emacs.stackexchange.com:

They often have links to their GitHub or personal website:

Repos called dotemacs are quite common. Over time you'll get a sense of what good code looks like and what bad code looks like. You'll also learn the big names, like those of Xah, Sasha Chua, binchen, Magnar Sveen, abo-abo, and many more. There are so many people to learn from!
Step 3: Hack on Emacs
Challenge yourself to write the functionality you want. Never copy code blindly; always take the time to understand it. If you don't understand it, don't use it! When you take the time to understand a piece of code, not only do you learn something new, you often think of ways to improve it for your particular use case. This is an opportunity to hack! After all, that's what your init.el is for! Make mistakes, break things, learn to debug. You'll find that because Emacs is written in Elisp, development is a delight.
Step 4: Ask questions on emacs.stackexchange.com
I've found that the Emacs community on StackExchange loves a good Elisp question. So, hack with confidence that other people will appreciate your efforts to learn.
Step 5: Answer questions on emacs.stackexchange.com
Nothing clarifies your understanding like trying to explain something. Trolling the main page, you'll also find answers to questions you never knew you had.
Conclusion
Over time you'll find yourself able to generate solutions faster and to answer other people's questions. Like all programming, it can be frustrating. However, remember to judge yourself today against yourself yesterday. Some people have been hacking on Emacs for, literally, 30 years! Most of the time, though, you'll find that Emacs is a pleasure to work with and the freedom it gives you is inspiring.
Happy hacking! :)
PS: Check out the package evil.
1 Some installs don't come with it. Debian users, for instance, must install it separately. It's kind of silly, but it's stored in the non-free repos. Add a non-free repo to /etc/apt/sources.list by appending non-free to the end of each entry:
deb http://http.us.debian.org/debian stable main contrib non-free
add a comment |
What a great question! Here is the path I've taken:
Step 0: Read the Emacs Tutorial
Read the Emacs Tutorial before anything else. It sounds like you've done this. Good on ya! However, for anyone coming to this at a later time, this is the place to start your Emacs journey. There are a lot of misleading blog posts out there. They over complicate things. Emacs makes it easy:
- Start Emacs
- Press
<RET>
You can also access it via Ctrl + h t, or C-h t in Emacs notation.
The tutorial introduces the basic concepts of Emacs, clarifies historical terminology, and gets you going in under 30 minutes. It also sets the stage for the next step.

Step 1: Read "An Introduction to Emacs Programming"
The next step is to read An Introduction to Emacs Programming. I cannot recommend this book enough; it's so well written! It comes with most Emacs installs1. Simply press C-h i and select it from the menu. You could also go to it directly via C-h i m Emacs Lisp Intro.
The Preface states,
This text is written as an elementary introduction for people who are
not programmers.
It should say "for people who are non-Lisp programmers." Lisp is a little different from other languages, so it's worth reading if you've never used Lisp before. The author has an approachable style and walks through many examples. It took me about a week to work through.
Step 2: Read OPC (Other People's Code)
2a. Read the source code
Because Emacs is "the extensible, customizable, self-documenting, real-time display editor", all the source code is included. Learn to use the help features, C-h f for a function and C-h v for a variable. There is always a link to the source code:

2b. Read all the init.el's
A lot of people track their init.el files in Git or Mercurial. Seek them out. One trick is to click on people's profile on StackOverflow, especially emacs.stackexchange.com:

They often have links to their GitHub or personal website:

Repos called dotemacs are quite common. Over time you'll get a sense of what good code looks like and what bad code looks like. You'll also learn the big names, like those of Xah, Sasha Chua, binchen, Magnar Sveen, abo-abo, and many more. There are so many people to learn from!
Step 3: Hack on Emacs
Challenge yourself to write the functionality you want. Never copy code blindly; always take the time to understand it. If you don't understand it, don't use it! When you take the time to understand a piece of code, not only do you learn something new, you often think of ways to improve it for your particular use case. This is an opportunity to hack! After all, that's what your init.el is for! Make mistakes, break things, learn to debug. You'll find that because Emacs is written in Elisp, development is a delight.
Step 4: Ask questions on emacs.stackexchange.com
I've found that the Emacs community on StackExchange loves a good Elisp question. So, hack with confidence that other people will appreciate your efforts to learn.
Step 5: Answer questions on emacs.stackexchange.com
Nothing clarifies your understanding like trying to explain something. Trolling the main page, you'll also find answers to questions you never knew you had.
Conclusion
Over time you'll find yourself able to generate solutions faster and to answer other people's questions. Like all programming, it can be frustrating. However, remember to judge yourself today against yourself yesterday. Some people have been hacking on Emacs for, literally, 30 years! Most of the time, though, you'll find that Emacs is a pleasure to work with and the freedom it gives you is inspiring.
Happy hacking! :)
PS: Check out the package evil.
1 Some installs don't come with it. Debian users, for instance, must install it separately. It's kind of silly, but it's stored in the non-free repos. Add a non-free repo to /etc/apt/sources.list by appending non-free to the end of each entry:
deb http://http.us.debian.org/debian stable main contrib non-free
add a comment |
What a great question! Here is the path I've taken:
Step 0: Read the Emacs Tutorial
Read the Emacs Tutorial before anything else. It sounds like you've done this. Good on ya! However, for anyone coming to this at a later time, this is the place to start your Emacs journey. There are a lot of misleading blog posts out there. They over complicate things. Emacs makes it easy:
- Start Emacs
- Press
<RET>
You can also access it via Ctrl + h t, or C-h t in Emacs notation.
The tutorial introduces the basic concepts of Emacs, clarifies historical terminology, and gets you going in under 30 minutes. It also sets the stage for the next step.

Step 1: Read "An Introduction to Emacs Programming"
The next step is to read An Introduction to Emacs Programming. I cannot recommend this book enough; it's so well written! It comes with most Emacs installs1. Simply press C-h i and select it from the menu. You could also go to it directly via C-h i m Emacs Lisp Intro.
The Preface states,
This text is written as an elementary introduction for people who are
not programmers.
It should say "for people who are non-Lisp programmers." Lisp is a little different from other languages, so it's worth reading if you've never used Lisp before. The author has an approachable style and walks through many examples. It took me about a week to work through.
Step 2: Read OPC (Other People's Code)
2a. Read the source code
Because Emacs is "the extensible, customizable, self-documenting, real-time display editor", all the source code is included. Learn to use the help features, C-h f for a function and C-h v for a variable. There is always a link to the source code:

2b. Read all the init.el's
A lot of people track their init.el files in Git or Mercurial. Seek them out. One trick is to click on people's profile on StackOverflow, especially emacs.stackexchange.com:

They often have links to their GitHub or personal website:

Repos called dotemacs are quite common. Over time you'll get a sense of what good code looks like and what bad code looks like. You'll also learn the big names, like those of Xah, Sasha Chua, binchen, Magnar Sveen, abo-abo, and many more. There are so many people to learn from!
Step 3: Hack on Emacs
Challenge yourself to write the functionality you want. Never copy code blindly; always take the time to understand it. If you don't understand it, don't use it! When you take the time to understand a piece of code, not only do you learn something new, you often think of ways to improve it for your particular use case. This is an opportunity to hack! After all, that's what your init.el is for! Make mistakes, break things, learn to debug. You'll find that because Emacs is written in Elisp, development is a delight.
Step 4: Ask questions on emacs.stackexchange.com
I've found that the Emacs community on StackExchange loves a good Elisp question. So, hack with confidence that other people will appreciate your efforts to learn.
Step 5: Answer questions on emacs.stackexchange.com
Nothing clarifies your understanding like trying to explain something. Trolling the main page, you'll also find answers to questions you never knew you had.
Conclusion
Over time you'll find yourself able to generate solutions faster and to answer other people's questions. Like all programming, it can be frustrating. However, remember to judge yourself today against yourself yesterday. Some people have been hacking on Emacs for, literally, 30 years! Most of the time, though, you'll find that Emacs is a pleasure to work with and the freedom it gives you is inspiring.
Happy hacking! :)
PS: Check out the package evil.
1 Some installs don't come with it. Debian users, for instance, must install it separately. It's kind of silly, but it's stored in the non-free repos. Add a non-free repo to /etc/apt/sources.list by appending non-free to the end of each entry:
deb http://http.us.debian.org/debian stable main contrib non-free
What a great question! Here is the path I've taken:
Step 0: Read the Emacs Tutorial
Read the Emacs Tutorial before anything else. It sounds like you've done this. Good on ya! However, for anyone coming to this at a later time, this is the place to start your Emacs journey. There are a lot of misleading blog posts out there. They over complicate things. Emacs makes it easy:
- Start Emacs
- Press
<RET>
You can also access it via Ctrl + h t, or C-h t in Emacs notation.
The tutorial introduces the basic concepts of Emacs, clarifies historical terminology, and gets you going in under 30 minutes. It also sets the stage for the next step.

Step 1: Read "An Introduction to Emacs Programming"
The next step is to read An Introduction to Emacs Programming. I cannot recommend this book enough; it's so well written! It comes with most Emacs installs1. Simply press C-h i and select it from the menu. You could also go to it directly via C-h i m Emacs Lisp Intro.
The Preface states,
This text is written as an elementary introduction for people who are
not programmers.
It should say "for people who are non-Lisp programmers." Lisp is a little different from other languages, so it's worth reading if you've never used Lisp before. The author has an approachable style and walks through many examples. It took me about a week to work through.
Step 2: Read OPC (Other People's Code)
2a. Read the source code
Because Emacs is "the extensible, customizable, self-documenting, real-time display editor", all the source code is included. Learn to use the help features, C-h f for a function and C-h v for a variable. There is always a link to the source code:

2b. Read all the init.el's
A lot of people track their init.el files in Git or Mercurial. Seek them out. One trick is to click on people's profile on StackOverflow, especially emacs.stackexchange.com:

They often have links to their GitHub or personal website:

Repos called dotemacs are quite common. Over time you'll get a sense of what good code looks like and what bad code looks like. You'll also learn the big names, like those of Xah, Sasha Chua, binchen, Magnar Sveen, abo-abo, and many more. There are so many people to learn from!
Step 3: Hack on Emacs
Challenge yourself to write the functionality you want. Never copy code blindly; always take the time to understand it. If you don't understand it, don't use it! When you take the time to understand a piece of code, not only do you learn something new, you often think of ways to improve it for your particular use case. This is an opportunity to hack! After all, that's what your init.el is for! Make mistakes, break things, learn to debug. You'll find that because Emacs is written in Elisp, development is a delight.
Step 4: Ask questions on emacs.stackexchange.com
I've found that the Emacs community on StackExchange loves a good Elisp question. So, hack with confidence that other people will appreciate your efforts to learn.
Step 5: Answer questions on emacs.stackexchange.com
Nothing clarifies your understanding like trying to explain something. Trolling the main page, you'll also find answers to questions you never knew you had.
Conclusion
Over time you'll find yourself able to generate solutions faster and to answer other people's questions. Like all programming, it can be frustrating. However, remember to judge yourself today against yourself yesterday. Some people have been hacking on Emacs for, literally, 30 years! Most of the time, though, you'll find that Emacs is a pleasure to work with and the freedom it gives you is inspiring.
Happy hacking! :)
PS: Check out the package evil.
1 Some installs don't come with it. Debian users, for instance, must install it separately. It's kind of silly, but it's stored in the non-free repos. Add a non-free repo to /etc/apt/sources.list by appending non-free to the end of each entry:
deb http://http.us.debian.org/debian stable main contrib non-free
edited 8 mins ago
answered 16 hours ago
Lorem IpsumLorem Ipsum
408111
408111
add a comment |
add a comment |
I recommend the "Emacs Lisp Intro".
The "Emacs Lisp Intro" might be already available in info format within your Emacs. Try C-h i m Emacs Lisp Intro RET or evaluate (info "(eintr) Top") in Emacs.
If this fails search the web for "Emacs Lisp Intro".
add a comment |
I recommend the "Emacs Lisp Intro".
The "Emacs Lisp Intro" might be already available in info format within your Emacs. Try C-h i m Emacs Lisp Intro RET or evaluate (info "(eintr) Top") in Emacs.
If this fails search the web for "Emacs Lisp Intro".
add a comment |
I recommend the "Emacs Lisp Intro".
The "Emacs Lisp Intro" might be already available in info format within your Emacs. Try C-h i m Emacs Lisp Intro RET or evaluate (info "(eintr) Top") in Emacs.
If this fails search the web for "Emacs Lisp Intro".
I recommend the "Emacs Lisp Intro".
The "Emacs Lisp Intro" might be already available in info format within your Emacs. Try C-h i m Emacs Lisp Intro RET or evaluate (info "(eintr) Top") in Emacs.
If this fails search the web for "Emacs Lisp Intro".
answered 17 hours ago
Marco WahlMarco Wahl
1,52636
1,52636
add a comment |
add a comment |
Start with the Emacs Wiki page Learn Emacs Lisp.
Not that that page itself will teach you Emacs Lisp. It will instead point to learning resources -- exactly what you're looking for here, with your question. Many users have contributed to it and edited it over a period of years. That presents advantages as well as disadvantages wrt one user's blog. The quality of suggestions there is of course various, because of the variety of inputs.
Beyond that - everything that others here have said, especially starting with the built-in doc of Emacs:
The Elisp manual - mostly a reference, but some good usage guidance and conceptual info too. It's built into Emacs:
C-h ithen choose the Elisp manual.The Emacs Lisp Intro - step-by-step intro to Lisp and Emacs Lisp. Also built into Emacs and available from
C-h i.
Since you've used Common Lisp it will be super easy to pick up Emacs Lisp. Consider yourself lucky about this.
If you had used Common Lisp (or Zeta Lisp or whatever) on a Lisp machine then the experience would be quite similar. You can think of Emacs as (among other things), a great Lisp environment. You can go from zero to 60 in no time, when learning.
Have fun!
add a comment |
Start with the Emacs Wiki page Learn Emacs Lisp.
Not that that page itself will teach you Emacs Lisp. It will instead point to learning resources -- exactly what you're looking for here, with your question. Many users have contributed to it and edited it over a period of years. That presents advantages as well as disadvantages wrt one user's blog. The quality of suggestions there is of course various, because of the variety of inputs.
Beyond that - everything that others here have said, especially starting with the built-in doc of Emacs:
The Elisp manual - mostly a reference, but some good usage guidance and conceptual info too. It's built into Emacs:
C-h ithen choose the Elisp manual.The Emacs Lisp Intro - step-by-step intro to Lisp and Emacs Lisp. Also built into Emacs and available from
C-h i.
Since you've used Common Lisp it will be super easy to pick up Emacs Lisp. Consider yourself lucky about this.
If you had used Common Lisp (or Zeta Lisp or whatever) on a Lisp machine then the experience would be quite similar. You can think of Emacs as (among other things), a great Lisp environment. You can go from zero to 60 in no time, when learning.
Have fun!
add a comment |
Start with the Emacs Wiki page Learn Emacs Lisp.
Not that that page itself will teach you Emacs Lisp. It will instead point to learning resources -- exactly what you're looking for here, with your question. Many users have contributed to it and edited it over a period of years. That presents advantages as well as disadvantages wrt one user's blog. The quality of suggestions there is of course various, because of the variety of inputs.
Beyond that - everything that others here have said, especially starting with the built-in doc of Emacs:
The Elisp manual - mostly a reference, but some good usage guidance and conceptual info too. It's built into Emacs:
C-h ithen choose the Elisp manual.The Emacs Lisp Intro - step-by-step intro to Lisp and Emacs Lisp. Also built into Emacs and available from
C-h i.
Since you've used Common Lisp it will be super easy to pick up Emacs Lisp. Consider yourself lucky about this.
If you had used Common Lisp (or Zeta Lisp or whatever) on a Lisp machine then the experience would be quite similar. You can think of Emacs as (among other things), a great Lisp environment. You can go from zero to 60 in no time, when learning.
Have fun!
Start with the Emacs Wiki page Learn Emacs Lisp.
Not that that page itself will teach you Emacs Lisp. It will instead point to learning resources -- exactly what you're looking for here, with your question. Many users have contributed to it and edited it over a period of years. That presents advantages as well as disadvantages wrt one user's blog. The quality of suggestions there is of course various, because of the variety of inputs.
Beyond that - everything that others here have said, especially starting with the built-in doc of Emacs:
The Elisp manual - mostly a reference, but some good usage guidance and conceptual info too. It's built into Emacs:
C-h ithen choose the Elisp manual.The Emacs Lisp Intro - step-by-step intro to Lisp and Emacs Lisp. Also built into Emacs and available from
C-h i.
Since you've used Common Lisp it will be super easy to pick up Emacs Lisp. Consider yourself lucky about this.
If you had used Common Lisp (or Zeta Lisp or whatever) on a Lisp machine then the experience would be quite similar. You can think of Emacs as (among other things), a great Lisp environment. You can go from zero to 60 in no time, when learning.
Have fun!
edited 10 hours ago
answered 15 hours ago
DrewDrew
47.5k462104
47.5k462104
add a comment |
add a comment |
Since you have a background in Common Lisp and you're "past the basics", there is no point getting lost in the "Introduction to Programming in Emacs Lisp".
What you can do right away (I don't have a background in CL and it worked for me) is:
1) find a mode that you use and try to add functions, you'll find help in the Emacs Lisp Reference
2) write your own custom file with your own simple functions, here again use the Emacs Lisp Reference
The help-gnu-emacs list is extremely helpful.
New contributor
brandelune is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
Since you have a background in Common Lisp and you're "past the basics", there is no point getting lost in the "Introduction to Programming in Emacs Lisp".
What you can do right away (I don't have a background in CL and it worked for me) is:
1) find a mode that you use and try to add functions, you'll find help in the Emacs Lisp Reference
2) write your own custom file with your own simple functions, here again use the Emacs Lisp Reference
The help-gnu-emacs list is extremely helpful.
New contributor
brandelune is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
Since you have a background in Common Lisp and you're "past the basics", there is no point getting lost in the "Introduction to Programming in Emacs Lisp".
What you can do right away (I don't have a background in CL and it worked for me) is:
1) find a mode that you use and try to add functions, you'll find help in the Emacs Lisp Reference
2) write your own custom file with your own simple functions, here again use the Emacs Lisp Reference
The help-gnu-emacs list is extremely helpful.
New contributor
brandelune is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Since you have a background in Common Lisp and you're "past the basics", there is no point getting lost in the "Introduction to Programming in Emacs Lisp".
What you can do right away (I don't have a background in CL and it worked for me) is:
1) find a mode that you use and try to add functions, you'll find help in the Emacs Lisp Reference
2) write your own custom file with your own simple functions, here again use the Emacs Lisp Reference
The help-gnu-emacs list is extremely helpful.
New contributor
brandelune is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
brandelune is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
answered 14 hours ago
brandelunebrandelune
111
111
New contributor
brandelune is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
brandelune is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
brandelune is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
add a comment |
What would you recommend for a guy in my position to get learning the
Emacs LISP environment and start hacking Emacs.
I really don't think you need to read something specific on emacs lisp. It's no secret that if you want to do something in Emacs, chances are, you just have to find the right command or someone has written the code already and it now resides somewhere on a wiki page, or github, or was made into a plugin. Just by copy-pasting that code and reading it, you will have learned a fair share of Emacs lisp by the time you are even somewhat satisfied with your .emacs.
If you want to get some ideas on how to customize Emacs, custom configurations by other people might be a good source of wisdom. A selected list of such configurations you can find here.
Browsing MELPA got me to install and try maybe a dozen of packages.
If you are going to develop a plugin, I found that reading the code of some particular plugin of your liking can get you started fairly quickly.
Since you use vi, check out evil-mode, it has worked great for me. I would also recommend helm with helm-apropos (or just apropos if you don't want helm) command to make your journey easier.
So, my advice is to get to the customization point right away and you will learn everything you need on the go. Especially that you hacked lisp before, long ago or not, and because learning elisp is, as far as I can tell, a means to an end for you, which is to customize emacs.
add a comment |
What would you recommend for a guy in my position to get learning the
Emacs LISP environment and start hacking Emacs.
I really don't think you need to read something specific on emacs lisp. It's no secret that if you want to do something in Emacs, chances are, you just have to find the right command or someone has written the code already and it now resides somewhere on a wiki page, or github, or was made into a plugin. Just by copy-pasting that code and reading it, you will have learned a fair share of Emacs lisp by the time you are even somewhat satisfied with your .emacs.
If you want to get some ideas on how to customize Emacs, custom configurations by other people might be a good source of wisdom. A selected list of such configurations you can find here.
Browsing MELPA got me to install and try maybe a dozen of packages.
If you are going to develop a plugin, I found that reading the code of some particular plugin of your liking can get you started fairly quickly.
Since you use vi, check out evil-mode, it has worked great for me. I would also recommend helm with helm-apropos (or just apropos if you don't want helm) command to make your journey easier.
So, my advice is to get to the customization point right away and you will learn everything you need on the go. Especially that you hacked lisp before, long ago or not, and because learning elisp is, as far as I can tell, a means to an end for you, which is to customize emacs.
add a comment |
What would you recommend for a guy in my position to get learning the
Emacs LISP environment and start hacking Emacs.
I really don't think you need to read something specific on emacs lisp. It's no secret that if you want to do something in Emacs, chances are, you just have to find the right command or someone has written the code already and it now resides somewhere on a wiki page, or github, or was made into a plugin. Just by copy-pasting that code and reading it, you will have learned a fair share of Emacs lisp by the time you are even somewhat satisfied with your .emacs.
If you want to get some ideas on how to customize Emacs, custom configurations by other people might be a good source of wisdom. A selected list of such configurations you can find here.
Browsing MELPA got me to install and try maybe a dozen of packages.
If you are going to develop a plugin, I found that reading the code of some particular plugin of your liking can get you started fairly quickly.
Since you use vi, check out evil-mode, it has worked great for me. I would also recommend helm with helm-apropos (or just apropos if you don't want helm) command to make your journey easier.
So, my advice is to get to the customization point right away and you will learn everything you need on the go. Especially that you hacked lisp before, long ago or not, and because learning elisp is, as far as I can tell, a means to an end for you, which is to customize emacs.
What would you recommend for a guy in my position to get learning the
Emacs LISP environment and start hacking Emacs.
I really don't think you need to read something specific on emacs lisp. It's no secret that if you want to do something in Emacs, chances are, you just have to find the right command or someone has written the code already and it now resides somewhere on a wiki page, or github, or was made into a plugin. Just by copy-pasting that code and reading it, you will have learned a fair share of Emacs lisp by the time you are even somewhat satisfied with your .emacs.
If you want to get some ideas on how to customize Emacs, custom configurations by other people might be a good source of wisdom. A selected list of such configurations you can find here.
Browsing MELPA got me to install and try maybe a dozen of packages.
If you are going to develop a plugin, I found that reading the code of some particular plugin of your liking can get you started fairly quickly.
Since you use vi, check out evil-mode, it has worked great for me. I would also recommend helm with helm-apropos (or just apropos if you don't want helm) command to make your journey easier.
So, my advice is to get to the customization point right away and you will learn everything you need on the go. Especially that you hacked lisp before, long ago or not, and because learning elisp is, as far as I can tell, a means to an end for you, which is to customize emacs.
edited 14 mins ago
answered 21 mins ago
user3496846user3496846
1265
1265
add a comment |
add a comment |
As a refresher on Lisp I highly recommend the first three chapters of Peter Norvigs Paradigms of Artificial Intelligence Programming. Those give you a great and fast pace (re)introduction to Lisp which will get you back on track quickly.
For total noobs there is COMMON LISP: A Gentle Introduction to Symbolic Computation which teaches you the same concepts but at much lower pace.
After going through one of the above, you can read all Elisp tagged posts on nullprogram.com and go through the reading guide at masteringemacs.org. To learn about common pitfalls reading the top questions here will be of help.
After doing the above the Info manuals will usually answer any further questions that come up when hacking on Emacs.
add a comment |
As a refresher on Lisp I highly recommend the first three chapters of Peter Norvigs Paradigms of Artificial Intelligence Programming. Those give you a great and fast pace (re)introduction to Lisp which will get you back on track quickly.
For total noobs there is COMMON LISP: A Gentle Introduction to Symbolic Computation which teaches you the same concepts but at much lower pace.
After going through one of the above, you can read all Elisp tagged posts on nullprogram.com and go through the reading guide at masteringemacs.org. To learn about common pitfalls reading the top questions here will be of help.
After doing the above the Info manuals will usually answer any further questions that come up when hacking on Emacs.
add a comment |
As a refresher on Lisp I highly recommend the first three chapters of Peter Norvigs Paradigms of Artificial Intelligence Programming. Those give you a great and fast pace (re)introduction to Lisp which will get you back on track quickly.
For total noobs there is COMMON LISP: A Gentle Introduction to Symbolic Computation which teaches you the same concepts but at much lower pace.
After going through one of the above, you can read all Elisp tagged posts on nullprogram.com and go through the reading guide at masteringemacs.org. To learn about common pitfalls reading the top questions here will be of help.
After doing the above the Info manuals will usually answer any further questions that come up when hacking on Emacs.
As a refresher on Lisp I highly recommend the first three chapters of Peter Norvigs Paradigms of Artificial Intelligence Programming. Those give you a great and fast pace (re)introduction to Lisp which will get you back on track quickly.
For total noobs there is COMMON LISP: A Gentle Introduction to Symbolic Computation which teaches you the same concepts but at much lower pace.
After going through one of the above, you can read all Elisp tagged posts on nullprogram.com and go through the reading guide at masteringemacs.org. To learn about common pitfalls reading the top questions here will be of help.
After doing the above the Info manuals will usually answer any further questions that come up when hacking on Emacs.
edited 10 mins ago
answered 17 mins ago
clemeraclemera
1,628521
1,628521
add a comment |
add a comment |
Thanks for contributing an answer to Emacs Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2femacs.stackexchange.com%2fquestions%2f47318%2fhow-can-i-start-learning-emacs-lisp%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown