10

Should I learn to use Emacs with no intention to learn Lisp, if my other option is to get familiar with vi?

Yktula
  • 14,179
  • 14
  • 48
  • 71
  • 2
    Would you plan to learn Vimscript, then? – Ken Apr 06 '10 at 05:10
  • No, but I don't see vimscript in vim as an equivalent to Emacs Lisp in the Emacs world. – Yktula Apr 06 '10 at 05:37
  • Can you explain the difference? Aren't they both the language used to extend the corresponding editor? If you wouldn't plan to learn Vimscript, why would it matter if you don't plan to learn Lisp? – Ken Apr 06 '10 at 05:53
  • 2
    Emacs is a platform for writing Lisp, while vim is just an editor. Moreover, a pro of vim is that it supports several other languages for scripts (including Ruby). While Emacs was designed to be extended using Lisp insofar as having its own dialect of it, vim was designed to be an extension to vi. Also, the following link expounds on this further in-depth than I will here: http://items.sjbach.com/97/writing-a-vim-plugin . – Yktula Apr 06 '10 at 06:03
  • 2
    Emacs is a platform for writing lisp in almost exactly the same sense that vim is a platform for writing lisp. It just so happens taht if you want to add functionality to emacs, doing so in emacs-lisp is easier than almost any other way (but, there's nothing that stops someone from writing either an interpreter or compiler to emacs bytecode for another language). – Vatine Apr 06 '10 at 06:30
  • I phrased the first clause in my last comment a bit unclearly; what I meant was that Emacs was _meant_ to be extended using Lisp, and the ability to extend it so greatly using Lisp seems to be its most powerful feature. – Yktula Apr 06 '10 at 06:38
  • I read your link, and I still don't get what makes Emacs a "platform", and Vim "just an editor". I know Emacs has historically had a reputation for being big, but in terms of actual features, what's the difference? Technically, anything with a programming language is a platform, and if anything, I think the ability to use many different languages on Vim makes it *more* platform-like, in the modern sense of the term. – Ken Apr 06 '10 at 07:04
  • 2
    Emacs is, fundamentally, a Lisp implementation optimized for text processing. It comes with numerous programs already written for it, including a text adventure, a version of Eliza, a mail client, and a text editor (by far the most popular component). There's no problem with running any of these without knowing Lisp, although if you want to do any customization you should learn it. – David Thornley Apr 06 '10 at 14:10
  • 1
    See also: – Drew Aug 21 '11 at 17:04

8 Answers8

16

Yes. With all the resources out there (FAQ, Emacs wiki, and the Stack Exchange Emacs site) and custom (M-x custom). You don't need to know Lisp. You just cut/paste what you find.

You can drive a Ferrari/Yugo without knowing the internals of the combustion engine or how a Formula One transmission works...

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Trey Jackson
  • 73,529
  • 11
  • 197
  • 229
  • 2
    (But anyone driving a Ferrari without knowing or caring anything about the engine, mechanics etc. might be said to be wasting a perfectly good Ferrari. ;-) Yugo, OK. ;-)) – Drew Aug 17 '13 at 03:26
11

Why not?

You can still learn vi (probably Vim or Elvis). You can learn jEdit. Or nano and Pico. Or whatever other editor, environment, and language-host you fancy.

Why put such an arbitrary restriction on things? While your Emacs experience will be better if you learn at least basic Emacs Lisp (a .. derelict .. Lisp implementation), it's not required. But at the end of the day, it's a tool. Get as many useful tools as you can. "Useful" also really depends on context.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
  • +1. The question boils down to "Should I spend my hobby time learning about a tool I'm interested in?" So, why not? :D – Gabriel Isenberg Apr 06 '10 at 04:13
  • It may be hard to learn those others *while* learning to use emacs, since learning emacs is often arduous and sometimes a PITA. And after he learns emacs, he won't want to learn the others anyway (except vi, since it's ubiquitous with UNIX, and loads up quickly). – Tim Schaeffer Jun 16 '10 at 21:43
10

I have used Emacs for several years with next to no knowledge of Lisp and it served me well for all of the projects I used it for.

You can always simply assume that the configuration you're writing is not in Emacs Lisp and that it is just some funny configuration format - there a lot stranger examples out there (such as Sendmail).

I should warn you though that once I started learning Emacs Lisp my Emacs mastery expanded extremely rapidly - now that I understand the details of the language I can easily bend any configuration to my needs and more importantly I started writing my own extension to Emacs, which add to it even more capabilities.

If you decided to start with Emacs, I recommend to read first this great book - it taught me a lot of things for Emacs at the beginning and it assumes no Lisp knowledge. It won't teach you any Lisp either. Afterwards my advice would be read the official Emacs manual and start exploring the Emacs Wiki and #emacs on Freenode.

Learning Emacs truly is a journey that is not for the faint of heart, but it is journey that is most certainly worth it...

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Bozhidar Batsov
  • 55,802
  • 13
  • 100
  • 117
5

Configuring Emacs is a journey, and it's something that you're going to want to do. Being able to customize your developing environment is one of Emacs' greatest strengths. It's almost unavoidable. You pick up bits and pieces just by looking at other people's .emacs files.

Knowing just a little bit of Lisp goes a long way in Emacs.

digitaldreamer
  • 52,552
  • 5
  • 33
  • 28
3

You don't need to learn Lisp to use Emacs. Even basic customization of Emacs works fine without Lisp knowledge. If you need something beyond your capabilities, there are many helpful Emacs users.

Learning a bit Emacs Lisp will later enhance your understanding of Emacs.

Emacs Lisp is a relatively simple Lisp dialect. Basic Emacs Lisp is not that difficult to learn. As an experienced Lisp user I have to say that Emacs is available quite some time and the users have written some amazing things in Emacs (like Org-mode). Some of the Emacs extensions are very very well written and it is a pleasure to read the code.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Rainer Joswig
  • 136,269
  • 10
  • 221
  • 346
  • I'd like to improve my feeble Emacs Lisp, could you please name a couple of these very well written, pleasurable to read Emacs extensions? Bonus points if under 50kb :) tia! – gboffi Dec 12 '17 at 10:24
2

I know little Lisp and use Emacs to edit my C and OCaml programs on Windows and Linux.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Yin Zhu
  • 16,980
  • 13
  • 75
  • 117
2

Well, if you don't want to customize your Emacs, you won't need Lisp, either. And you can also do some basic modifications using the build-in customize functionality and by copy&pasting code of others. But truth being: I have written several hundreds of lines of code to customize Emacs to suit my needs. On the other side, as far as I know, vi is not as customizable as Emacs, so in the end it is probably more about what editor you like more and you should try both.

Dominik Honnef
  • 17,937
  • 7
  • 41
  • 43
2

I've been using Emacs for a year and a half, and really only picked up whatever Emacs Lisp came without trying. I have a heavily extended set of configurations (first in a .emacs file, and now in ~/.emacs.d/init.el and friends), which are totally a result of cutting and pasting from the excellent resources found online.

Aside from, of course, the EmacsWiki, you should see the fine Emacs Starters Kit and subscribe to Planet Emacsen --- preferably in a feed reader. It's prettier.

Having said that, after you have a working setup you might yield to the temptation to learn a little Emacs Lisp. I've just started the free Introduction to Programming In Emacs Lisp, which comes with Emacs and is best read from within Emacs Info. It assumes neither programming ability nor Lisp knowledge, and is a friendly introduction to the 'vibe' of Emacs Lisp which I find to be well-written in the extreme, friendly and concise, and worth 10x every minute I have spent with it.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
ScoBe
  • 279
  • 1
  • 3