不使用Lisp的Emacs

10

如果另一个选项是熟悉vi,那么我是否应该学习Emacs而没有学习Lisp的意图?


2
你打算学习Vimscript吗? - Ken
2
Emacs是用于编写Lisp的平台,而vim只是一个编辑器。此外,vim支持多种其他语言的脚本(包括Ruby),这是vim的优点之一。然而,Emacs被设计为使用Lisp进行扩展,以至于具有自己的方言,而vim被设计为vi的扩展。此外,下面的链接比我在这里讲述的更加深入:http://items.sjbach.com/97/writing-a-vim-plugin。 - Yktula
2
Emacs是一个平台,几乎可以与vim相同地用于编写lisp。恰巧的是,如果你想要在emacs中添加功能,使用emacs-lisp比其他任何方式都更容易(但是,没有什么能阻止某人编写解释器或编译器将另一种语言编译成emacs字节码)。 - Vatine
2
Emacs本质上是一种为文本处理而优化的Lisp实现。它带有许多已经编写好的程序,包括一个文本冒险游戏、Eliza的一个版本、一个邮件客户端和一个文本编辑器(迄今为止最受欢迎的组件)。不需要了解Lisp即可运行这些程序,但如果您想进行任何自定义,则应该学习该语言。 - David Thornley
1
参见:https://dev59.com/J07Sa4cB1Zd3GeqP7_Tm#7136234 - Drew
显示剩余4条评论
8个回答

16

是的。有了所有可用的资源(FAQEmacs wikiStack Exchange Emacs 网站)和自定义选项(M-x custom),你不需要知道 Lisp。只需复制粘贴你找到的内容。

你可以驾驶一辆法拉利/尤戈,而不需要了解内部燃烧引擎或一级方程式赛车传动系统的工作原理...


2
但是,如果有人开着一辆法拉利却对引擎、机械等一无所知或者毫不关心,那么这个人可能被认为是在浪费一辆完美的法拉利。Yugo,好吧。;-) - Drew

11

为什么不呢?

你仍然可以学习vi(可能是Vim或Elvis)。 你可以学习jEdit。或者nano和Pico。或者任何其他编辑器,环境和语言托管程序。

为什么要对事情施加如此武断的限制?虽然如果您学习至少基本的Emacs Lisp(一个..被遗弃的Lisp实现),您的Emacs体验会更好,但这并非必需品。但归根结底,它只是一种工具。尽可能获得许多有用的工具。 "有用"也确实取决于上下文。


问题归结为“我应该花费我的业余时间学习我感兴趣的工具吗?”那么,为什么不呢? :D - Gabriel Isenberg
在学习使用emacs的同时,学习其他编辑器可能会很困难,因为学习emacs通常是艰苦的,有时也很烦人。而且一旦他学会了emacs,他也不想再学其他编辑器了(除了vi,因为它与UNIX普及,并且启动速度很快)。 - Tim Schaeffer

10

我使用Emacs已有数年,对Lisp几乎没有了解,但是它为我处理的所有项目提供了很好的服务。

你始终可以假设你正在编写的配置不是基于Emacs Lisp,而只是一些有趣的配置格式 - 这里有很多更奇怪的例子(例如Sendmail)。

但是我必须警告你,一旦我开始学习Emacs Lisp,我的Emacs掌握能力极快地扩展了 - 现在我理解了这种语言的细节后,可以轻松地将任何配置弯曲到我的需求,并且更重要的是我开始编写自己的Emacs扩展,为其添加更多功能。

如果你决定从Emacs入门,我建议先阅读这本很棒的书 - 它在开始使用Emacs时教给我很多东西,而且假设你不了解Lisp。它也不会教你任何Lisp知识。之后,我的建议是阅读官方的Emacs手册,并开始探索Emacs Wiki和在Freenode上的#emacs。

学习Emacs确实是一场不适合胆小者的旅程,但它绝对值得一试......


他们在2021年离开Freenode了吗? - Peter Mortensen

5

配置Emacs是一段旅程,你一定想要做。能够自定义开发环境是Emacs最大的优势之一。这几乎是不可避免的。只需查看其他人的.emacs文件,您就可以逐渐掌握一些技巧。

在Emacs中了解一点Lisp知识就足够了。


3
你不需要学习Lisp来使用Emacs。即使没有Lisp知识,基本的Emacs自定义也可以正常工作。如果您需要超出自己能力范围之外的东西,有许多乐于助人的Emacs用户。
学习一点Emacs Lisp将有助于您更好地理解Emacs。
Emacs Lisp是一种相对简单的Lisp方言。基本的Emacs Lisp并不难学。作为经验丰富的Lisp用户,我必须说Emacs已经存在了相当长的时间,用户们在Emacs中写了一些惊人的东西(比如Org-mode)。一些Emacs扩展非常优秀且代码易读。

我想提高我的Emacs Lisp水平,你能否推荐一些写得非常好、阅读愉悦的Emacs扩展?如果文件大小在50kb以下那就更好了。谢谢! - gboffi

2

我了解一些Lisp,并使用Emacs在Windows和Linux上编辑我的C和OCaml程序。


2

如果你不想自定义你的Emacs,那么你也不需要Lisp。你可以使用内置的自定义功能和复制粘贴他人的代码来进行一些基本的修改。但事实是:我已经编写了数百行代码来自定义Emacs以满足我的需求。另一方面,据我所知,vi不如Emacs可定制,因此最终可能更多地取决于你喜欢哪个编辑器,你应该尝试两者。


2

我使用Emacs一年半了,只是随便使用了一些自带的Emacs Lisp。 我有一个大量扩展的配置文件集合(首先在.emacs文件中,现在在~/.emacs.d/init.el和其他类似的文件中),这完全是从在线资源中剪切和粘贴得到的。

当然,除了EmacsWiki之外,您还应该查看优秀的Emacs Starter Kit并订阅Planet Emacsen --- 最好使用提要阅读器。它更漂亮。

话虽如此,在您拥有一个可用的设置后,您可能会想要学习一些Emacs Lisp。我刚刚开始免费的Introduction to Programming In Emacs Lisp,它随Emacs一起提供,并且最好在Emacs Info中阅读。它不需要编程能力或Lisp知识,并且是对Emacs Lisp“氛围”的友好介绍,我发现其写作非常出色,友好而简洁,值得我花费的每一分钟的10倍。


“Introduction to Programming In Emacs Lisp”链接已经失效:“404 - 页面未找到”。 - Peter Mortensen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接