由"Emacs的Windows版恐将被宣布为“不受支持”"想到Emacs的未来发展

仔细想想, 确实是个问题.

一直感觉Emacs的用户量比较少, 特别是年轻用户更是越来越少. 相比之下, vim的年轻用户感觉挺多的.

年轻用户代表着这个软件的未来, 因为老用户终将老去, 没有新的用户补上来, 意味着很可能消亡.

Emacs可能需要一些大的改变, 增加对年轻用户的吸引力.


另外, 和vim的对比:

根据平时网上看到的讨论, vim和Emacs两者功能上好像没有说哪个有巨大优势, 有什么关键功能而对方没有的.

但是vim有以下优势:

  1. vim代码量少, 和GUI相关功能也简单, 维护工作量小,

  2. vim代码风格更大众化, 更容易让人新的开发人员入手, 没有那么多Emacs的黑科技, Emacs的代码包含很多特有的宏什么的, 而且GUI相关代码比较复杂, 维护工作量大

  3. vim功能纯粹实用, 很少有多余的东西, 目标明确, 直观, 默认按键操作快捷高效, 很容易让人了解, 拿起来就用, 对新用户比较友好. 相比之下, Emacs就比较偏哲学了, 不够明确和直观, 它包罗万象, 风格自由, 可能每个用户都会定制出完全不同的操作风格, 感觉不太适合新用户, 而适合少数中年以及以上用户, 对自由度和风格有更高要求的人.

总结一下:

  1. Emacs用更高的成本做出来的功能, 相比低成本的vim, 优势并没有很大. 是不是有点浪费?

  2. Emacs对新的(特别是年轻的)用户以及新的(特别是年轻的)开发者, 都没有vim友好, 门槛高不少.

破局之道是什么? 欢迎讨论.

以上都是本人个人的主观认识和看法, 不一定正确, 欢迎讨论.

2 个赞

vim没有indirect buffer这种东西

我Emacs用户, 没怎么用过这个功能. 可能vim那边没人提这需求吧

还有Emacs的可变大小字体, 非等款字体, 我用的也不多, 可能高级orgmode用户才会用到吧. 但是这些功能又做不到专业级, 类似穷人的排版软件, 有点尴尬.

1 个赞

对了,还有narrow功能,vim/neovim有类似的插件,但是跟emacs比起来,约等于无

vim 没有org

1 个赞

和 Lisp 不一样的一点是,VimScript 属于 DSL,不是通用语言吧?

NeoVim 引入了 Lua,但是好像对 Windows 的支持也很烂。

https://www.zhihu.com/question/594333293/answer/3237119534

感觉出个精简版就可以, 一般用户最直观的感受就是vim体积那么小,emacs那么大, linux版好像并不大, windows版确实够大, 而我emacs文件夹旁边的notepad++是20多M, 甚至vsc看起来也比emacs要小些.

也许很多人认为现在硬盘足够便宜,这点空间无所谓, 但重点不是空间大小,而是emacs有很多使用频率低,只有极少用户会用到,一般用户都不知道有的功能(所以我也列举不出来). 精简版无必要保留

不要问我如果要用 GNU Emacs 的功能怎么办,你有想法可以报 bug 给 emacs。只是在这里讨论的话意见也不会自动传达给开发者。就算不被接受,自己 fork 一个版本也可以。

除了 mg 以外,我自已在 Windows 上用的是 JASSPA microemacs,只编辑英文的话也是够用的,还有个特色是自带连连看游戏。2010 年后没有更新过,所以用的是自己的 fork GitHub - LdBeth/microemacs: Jasspa's microemacs

3 个赞

没什么需要的功能, 我已经固定到emacs 27 terminal版本, 后续版本更新基本都用不到.

另外, 自己fork并修改, 估计对大部分用户不适用, 真正有能力的也不需要这个建议, 会自己搞定, 所以这个建议意义不大.

纯主观讨论, 纯普通用户视角, 非常笼统, 没有太具体的建议给官方. 吃瓜群众, 闲聊灌水.

那我觉得连 Release 都不跟进的话,更不可能及时发现问题井提给开发者。我又要拿 Gnus 的 news group title GBK 编码支持被删除结果等在 Release 发现开发者已经不决定改回去了这回事说,导致我再没用 Gnus

1 个赞

Emacs 年轻用户比例是否比 Vim 少,这个没调查过,我不知道是不是真的。但是用户多不代表有能力给上游贡献的人也多,我不知道是否 Vim 用户都像本坛用户一样这么有创造力,起码 Vim 用户连自己活跃的中文论坛也没有不是么? :wink:

不过看到最后也太明白楼主是想吸引贡献者还是吸引普通用户,就贡献者数量来说,GNU Emacs 远比 Vim 多,整体贡献者比例也比 Vim 更健康。

这个是 Vim commit 数量前 6 名的贡献者

这个是 Emacs 前 6 名


当然 Vim 整体贡献者不足主要还是因为在作者不幸去世后才开始开源运作的原因。

然后我们再看一下近期三个月的 commit 趋势

这是 Vim 的

这是 Emacs 的


同场加戏

我又好奇查了一下第一梯队的 VSCode 和 Neovim,这两个用户的绝对数量那可是比 Emacs 多了 N 倍吧,但是真正参与贡献的能比 Emacs 高几倍呢?

这是 VSCode 最近三个月的 commit 趋势

这个是 Neovim 的

感觉也没那么能打嘛 :see_no_evil:

10 个赞

Windows 上最好用的 Emacs 估计是 wsl2 里面的

或许是因为,NeoVim 用的是 Lua,而且可以借鉴 Vim 的代码,省去了很多的工作量(Emacs 还得实现 ELisp),所以 Commit 更少?

这是原版 vim,不是 neovim

cygwin 里面的也可以试试

1 个赞

个人在用emacs只因orgmode做笔记,偶尔让gpt写写elisp函数。

7月看到邮件列表提到这事时,权衡当下日常工作几乎没有可能迁移到linux平台,所以有在尝试obsidian以及其开源实现foam、logseq等,但几经尝试下来文本编辑以及键盘快捷键操作都不太顺手,便暂时保持观望了。

作为边缘用户,个人肯定更倾向于出现维护成本更小的orgmode功能复现,但这种实现势必会走出emacs本体,解耦orgmode emacs的绑定,而这种解绑私以为感觉更不利于emacs发展,似乎有些矛盾。

4 个赞

其实关系不大的,只不过 Windows 的支持需要用户自行解决了。我觉得是一件好事,摆脱官方的意识形态,说不定发展得更好,让问题解决得更快。

2 个赞

emacs 用的人少是事实。楼主提的问题很大,庞大的问题只能用庞大的答案回答,因此这里无法讨论解决的具体细节。果然 vim 还是容易拿来和 emacs 比较的东西,国外不知道,国内 vim 流行我觉得主要是如下原因:

  • 绝大多数教程或资料永远只会介绍 vim, 从来不介绍 emacs(提名不算),是因为撰写材料的人只知道 vim, 这样知道并愿意尝试 emacs 的人自然就少了。
  • vim 似乎确实设计简单一些,但扩展性和自由度比 emacs 差很多。然而,对于普通用户来说,这不是缺点反而成为了某种“优点”。多数编辑器用户其实是 机会主义 的,他们既不是编程者,也对定制自己的编辑器毫无兴趣,他们只求能用,而根本不会去想编辑器背后的事情(例如没意愿去定制)。vim 或者其他编辑器似乎是一个足够满足他们需求的东西,结合上一点,自然就钉死在 vim 上了
  • emacs 比较难上手,这个和上一点是一回事。

最直接的是这几条,这一解释也适合用于其他被拿来和 emacs 比较的编辑器。但如果再想开一点,不是 emacs 和 vim 比较,拿 emacs/vim 和其他编辑器或工具比较,我觉得还有如下原因:

整个社会环境、制度和法律体系就是有利于私有软件的,它维护和加固的是一套版权私有制的体系,在这个体系中, 私有软件占据统治地位 ,而自由软件注定只能受到排挤和打压。这套制度也不是凭空制造的,它和资本主义私有制有着千丝万缕的联系,其实就是从后者的经济基础上产生出来的。这套生产方式关心的只是剩余价值的生产、商业利润、少数人的利益。至于代码的自由、社区或社会利益、尊重用户等等则不在它们的考虑之列。即便它们表现出某种程度对自由软件的利用意愿,也仅仅是因为这样做对资本增值有利。一些人认为资本主义是竞争的制度,这不完全对,它是 低效竞争 的制度,并造成大量浪费,软件行业争先恐后重复制造闭源产品、并在其中夹带后门和其他损害用户利益的负特性,已经很好地表明了这一点。从现有的生产关系看,自由软件不符合资本家的利益,而私有软件才符合。因为资本主义本身就是为少数人谋利的体系,它把软件行业分裂为一个个利益集团和小团伙,并让它们像守财奴一样小心翼翼地保守着屎一样的代码。

在资本主义私有制的基础上要求自由软件的胜利(或者说普及),如同在奴隶制的基础上要求自由。 这正是问题所在。这种经济的事实和社会关系的影响是异常强大的,它不仅创造了“除了选择私有软件、将命运交给软件公司外别无选择;私有软件更好”的观念,也在生产和消费上维系着私有软件的统治地位,生产资源(编码工人、资金或称资本、大量能源和硬件)都被制造私有软件的公司所拥有并投入到黑箱,从社会角度来看,分配给自由软件的资源少的可怜。无论你说 emacs/vim 没有人维护文档也罢,没人对新手做专门的优化也罢,没有 xx 功能也罢,问题都不在 emacs/vim, 资本主义及其助长的私有产权制度和它对自由软件社区的无耻压榨才是根源。

所以我说楼主提的问题其实远远超过了 emacs/vim 自身的问题。

3 个赞

我是看到neovim的面世, 以及快速的迭代升级, 这种局面其实很有利于该软件的进化和发展, 类似于当年的X Emacs

这种青出于蓝而胜于蓝, 代表着巨大的开发动力, 以及用户需求. 是种很好的局面, 但是emacs现在就很难出现这种局面了.

另外, 由于两者代码量不同, 或许应该比较两者bug解决比例和速度? 以及普通用户的参与度?

1 个赞

怎么,现在 GNU Emacs 迭代还不够快吗? 实际上年轻一代(生于 2002 年以后)的人几乎都在用 VSCode,甚至 JetBrain 的产品,用 neovim 的也不多。

4 个赞