【讨论】Emacs扩展包与VSCode应用商店的差别在哪?

Emacs拥有大量的第三方功能包,拥有高度集成的Space-Emacs和Doom-Emacs,以及其他…… 甚至可以说,每个Emacser都有自己的一份Emacs配置。

但对于一个新安装的环境,还是感觉Emacs配置上手和VScode的即安即用的应用商店间有很大的不同, 想问问大家,这种差别的根源是什么?

(几近)无限的可配置性 vs 强调开箱即用?

1赞

emacs 在一般情况下开始用和能用的距离我感觉还是挺遥远的…

可能vscode感觉是学一点会一点, emacs学很多了之后…才会突然有一种…原来是这么用啊的感觉

应用商店是分发应用的地方

Emacs扩展包就是一个应用

这两者怎么对比?要对比,只能ELPA和VSC应用商店对比


我觉得楼主本身就没有描述清楚他想要表达什么。

Emacs拥有大量的第三方功能包,拥有高度集成的Space-Emacs和Doom-Emacs,以及其他…… 甚至可以说,每个Emacser都有自己的一份Emacs配置。

但对于一个新安装的环境,还是感觉Emacs配置上手和VScode的即安即用的应用商店间有很大的不同, 想问问大家,这种差别的根源是什么?

似乎他把“编辑器配置”/“编辑器扩展”/“编辑器(本身)”/“包分发源”/“应用商店” 几个概念混合在一起使用了,对参与者(起码是我)产生了很大的疑惑,令人抓不住重点。如果不要求楼主澄清概念,容易引起没有营养的发散讨论(甚至引战)。

VSC的一些插件会默认给你加上一定量的“初始配置”,Emacs插件则更倾向于不给(或者提供,但是默认不启用),又因为VSC的一些插件是官方做的。可能导致楼主混淆了这几个概念。有VSCode使用经验的人来说或许会很熟悉,但是对于纯粹的Emacs用户来说,这种人为杂糅是十分陌生甚至古怪的。

我这样回复,是希望楼主能做出更中立客观的表达。即使受限于个人经验而不能做到完全中立,但是在社区的协助下尽量中立是可行的。

cc: @Uhuru

这个问题好,
elisp的教程可以从这个问题入手, 从vscode入手, 通过对比, 抽丝剥茧, 循序渐进阐述Emacs高明之处.

VSCode ,你的配置文件是个 JSON。编辑器启动时读取这个 JSON, switch case 每个字段里的内容,然后改变自己(和插件)的行为

Emacs 里,所有 Elisp 代码都是平等的。Emacs 主要代码 80% 是 Elisp,插件和你的配置也都是 Elisp。所有 Elisp 在同一个运行时下,互相透明。你可以任意组合 Emacs 函数、插件 A 的函数、插件 B 的函数和你自己写的函数。

2赞

vscode里没有lisp魔咒

javascript是大众语言 也没有小众语言的自我优越感

1赞

Emacs绝大部分扩展包的设计开发都是完全独立的,所以

  • 经常会有兼容性问题,没几次更新不break的,更别提“开箱即用”
  • 产生各种分支(浪费紧缺的开发资源),参考 ivy / helm / snails / selectrum 或 hydra / transient 等等;
  • 意见不统一,有发布ELPA的,有不发布的…

VSCode仅用了很短时间,没有发言权。但每次配置LSP出问题,我都会跑去vscode试一试是我的emacs配置还是其他依赖的问题… 开箱即用,真香…

不只vscode, js
elisp是唯一有关键词interactive的语言,这是对比其他语言和其他编辑器的全部也是唯一的优势。

这里指的是面向最终使用者的使用界面,而不是指扩展包的形式;

可能有内部深层的原因导致了使用界面的不同,那这里想讨论的是:

  1. 是否是由于某些深层的原因导致的?
  2. 这些是技术、社区文化或是资金问题?

更实际一些的:就当前的Emacs,需要做哪些改动能达到一种即插即用的状态(不是开箱即用,是即插即用);这里的改动,不是指Emacs本身,而是类似于Space-Emacs这种基于Emacs之上的方式

vim 都没有即插即用 emacs要是即插即用 那不就落后了嘛

你这标题很费解,包和分发包的地方这两者没法比较。

Emacs 也是即安即用的,比如写 Go 代码,安装好 M-x package-install go-mode 就完了,如果需要配置才需要写配置。

社区文化就那个样子 你讨论半天也不会有什么改观

讨论一天也不行

1赞

Emacs扩展包可以随便改,菜单、窗体布局都可以自己设计,还可以看小说、看pdf,可以基本符合自己的使用习惯,而不是换个软件又去学一遍软件作者的习惯,VSCode商店里的东西不那么容易做到。

相比 VS Code,Emacs 还是要写很多配置的吧。楼主也说了,一般 emacs 用户都会有一套自己的配置啊,相比之下,VS Code 的配置就少很多了。

ELPA 很多人都是100+以上插件了吧,甚至把elpa全部包都做了镜像备份,我一直想精简我elpa插件的数量,现在有70+的扩展包,应该算少的了。VSC应用商店我安装的插件还不到10个,vsc应该也有安装100+以上插件的用户吧,不知道体验怎么样

Emacs使用插件多,VSC使用插件少,是不是因为Emacs是你的主力工具,而VSC只是备用呢?

或者是Emacs上多个插件才能达到VSC上一个插件的效果?

不是,是emacs扩展更方便,有些功能在emacs搞定了,不想在vsc上再做一次了,比如我在emacs打开一张jpg等格式图片,然后在emacs内一键转换成webp格式,vsc肯定也可以,但没兴趣去研究怎么做

引战贴,没有讨论的意义。 喜欢开箱即用就用VSCode,喜欢折腾和自定义就Emacs。

没有必要定期发起这种无意义的引战贴,浪费社区资源。