开发者讨论如何让 Emacs 再次流行起来

做不到开箱即用那就肯定不会再次流行了╮(╯_╰)╭

5 个赞

Emacs 自 26.3 开始自带 Emacs Lisp入门教程。按C-h i. 这是链接 Top (Programming in Emacs Lisp)

2 个赞

赞同,其它编辑器都有中文版,包括vim,就emacs没有,自带的只有一个emacs tutorial是中文的,但我打开emacs27.0.91版本的tutorial.cn发现里面也开始混杂一堆英文注释,感觉中文是没希望了

实际上我觉得elisp比vimscript的语法友好很多。
Emacs的问题在于 几乎无法在无配置的情况下做到有效的编辑
虽然我很喜欢Emacs,但是我仍然要说,相比一些编辑器(vscode atom)作为一个以GUI为主使用编辑器,设计上却还停留在TUI的思维上,在新手体验上是严重不足的,很多时候功能是隐藏的,不显式的(我使用了很长时间后才了解到有speed.bar),不直观的体验导致了学习成本增加,与学习兴趣的降低。
所以问题不在于elisp,也不在于复杂的自定义(这其实是加分项),而是无法有效吸引新人,并向新人展示其功能
看脸的年代。。。真的酒香也怕巷子深。
(虽然社区可能不屑于去吸引)

4 个赞

这个只能算快捷键tutorial。

安装费劲;不能开箱即用;使用中一路的问题;随用随改好几年,才终于满足需要了,别人问起来,除了把自己的配置文件拷贝给他们外,实在没有其它啥办法言简意赅的告诉他们该怎么使用。我的看法的话,这本身就是一个很个人的工具,流行起来不容易。

3 个赞

在reddit上看到了一篇很不错的elisp编程介绍: Emergency Elisp,通过和java对比介绍,很详细。介绍elisp基本语法,不涉及emacs api。通读一遍后,扫除了我知识上的一些盲区。

1 个赞

这也许可以降低一点门槛,但是发现 Emacs 的学习成本后,估计还是更愿意去用 VS Code 这样的学习成本较低的编辑器吧……

elisp这语言,概念多的没写过编辑器和编译器没法入门,缩写跟汇编似的,结果要类型类型么有,要对象对象么有,性能也没有很行,debug信息更是感人至深,居然只能靠二分法。。。而且学了也没法在别的地方用

2 个赞

elisp支持多线程,提高性能,增强UI表现力,emacs还是有希望的。

1 个赞

但是我就是受不了打字用鼠标

主要是Emacs Lisp这个东西对新人不友好吧,虽然有Easy Customization,但是大多数Easy Customization做不到的功能还不是要使用Emacs Lisp来写。

Emacs Lisp tutorial 搜索一下,排名第一的是我之前提到的官方入门教程。还是很简单的。

排名第二的李杀的教程是我强烈推荐的。教核心概念, 变量,字符串,函数,文件处理。例子也很丰富,比javascript简单多了(protoype,this的概念在javascript里很复杂)。

我当初连if的语法都没搞清楚就开始写插件了。社区和用户还是很友好的,从来没有人报怨过我的语法用得很糟糕。

3 个赞

有什么成本,拿第三方成熟的配置用就可以了。我就是拿Steve Purcell的配置练手了一年,有问题就问他。

VSCode也就那样,微软的一贯风格,UI对新手“友好”,有经验的程序员需要稍微深入一点的功能实现起来就很麻烦。

比如在当前路径递归搜索所有文件?在父目录递归搜索?向上第N层目录递归搜索?如果我不搜索文件只搜索目录怎么办?如何保证性能?

Emacs Lisp很简单,用李杀的教程边用边查,没有Lisp基础也就是半天的功夫。

换成vscode,即使能用typescript写出来,还必须以插件发布,不象Emacs只要把代码往~/.emacs里一贴了事。

我当初为了写教程开发vscode-matchit也是迫不得已,我给微软发issue,问有没有能在json配置里结合两个命令的办法。人家让我自己去stackoverlfow问然后就把我的issue关掉了 ( https://github.com/microsoft/vscode/issues/71582 )。这个客户支持是我接触过的所有开源项目里最差的。

Stackoverflow 挂了1年,0 upvote 0 回答, https://stackoverflow.com/questions/55484604/how-to-bind-one-shortcut-to-multiple-commands-by-testing-the-current-line-under 然后上个月被社区隐藏了。

9 个赞

像Vim那样基本大部分发行版预装(预装vi),就可以重新流行了。技术问题根本不是流行的关键,我觉得他们在emacs-devel上讨论更像是讨论emacs开发的roadmap

1 个赞

重新贴一下

我才开始学Emacs时把自带的calculator好好把玩了一下。现在,由于疫情,我用不了组里的一台装有很多商业软件的台式机。我就用Emacs里面的calc做了我的科研中许多涉及到统计的工作。

对于学术界的人而言,Emacs的吸引力在于很多趁手的小功能。但说实话,如果不是因为我现在要做一些简单的统计的工作,我也不会知道,Emacs的calc其实是个计算机代数系统。

我之前看到这篇博文中 使用Calc做微积分 - 暗无天日 将Emacs的calc戏称为“穷人的matlab”。我想,理工科的本科生实验课程中的数据处理,基本上都可以用Emacs的calc完成,似乎可以凭这一点向本科生推荐Emacs。回过头来,我才发现,本科时为了实验的数据处理,而花费时间去找破解版的matlab、学习matlab,有点可笑。我当时不知道Emacs里面除了calculator外,还有个calc。

其实我当时想学习使用Emacs,有个原因是我想从事的研究方向的一位大牛,卡耐基梅隆大学的John Kitchin,是Emacs的一位重度使用者。我后来听过他们组的报告,其中有几个学生的presentation,似乎是Emacs做出来的。

17 个赞

vscode这个bot识别为key binding问题然后就直接关issue?这也太随便了。

stackoverflow这个问题为什么会被删?搞不懂

应该是要写个command可以读当前行再执行command1或者2的东西?代码放json里难道要eval

读当前环境在两个命令间切换比较难。vscode现在的json格式我只查到读当前环境再执行一个命令。