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

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 然后上个月被社区隐藏了。

8赞

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

1赞

重新贴一下

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

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

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

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

16赞

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

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

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

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

脑海里想到了这句:Make Emacs Great Again

2赞

其实我不在意 emacs 流行不流行,我在意它是否活的长,emacs需要像沙漠中的仙人掌,有顽强的生命力。

6赞

如果越来越不流行,用的人越来越少,生态变差,就很难生存下去了。(一个人抗起全部需求,自己写自己需求的东西的话,那当我没说)

2赞

主要还是需要有新鲜血液,如果能持续吸收到一小波新人,不需要多,就像现在的精,就足够了

2赞

本来还想是不是JavaScript 也可以用Emacs 来写,后面觉得好像跟WebStorm 差很远啊。。。

能不能来个 iOS/Android 版本的 Emacs 啊?

我没在emacs中做过js相关的开发,不过感觉27的js-mode应该不差吧,不如说说差在哪?

手机上键盘操作真的方便吗?实际需求也不可能在手机上敲代码的,为什么需要手机app。唯一的需求可能就是orgmode,已经有现成的app。

Android上好像Termux可以,就是如果要用GUI版本得root或者开VNC

与其说再次流行,个人觉得明确目标人群、培养使用生态更有效。

我从来没有成功安利过emacs,当然我也没有很积极地推广,但本质上来讲,不用一个工具是因为没有到非它不可的地步

Emacs有很多天然的短板,比如作为一个知识管理方案,它的收集、跨平台的短板太明显;作为事务管理方案,缺少提醒、同步协作;作为IDE,debug、自动补全等都不是自带功能。当然,很多短板都可以通过扩展解决,但是这也是一个推广的门槛。

你很难让emacs在设计师人群流行,在看重资料收集、捕捉的人群中流行,在经常出差的人群中流行,在畏惧英语的人群中流行。对这些人而言,有不少其他的更易用的替代方案。对我个人而言,我是在知识管理从收集转向应用之后,发现org-mode是 唯一一个 满足把书籍、论文、代码、笔记、待办事项合为一体,管理我生活方方面面的方案。在清楚自己的需求之后,也能帮助你在众多方案中做出合理的选择。

也因为它是唯一的方案,你会发现虽然圈子小,但是圈子关注的问题跟自己高度集中。比如拿知识管理来说,当初看到roam之后,我就觉得在emacs中也不难实现,粗略搜索发现果然有人开发了相关package。用emacs的给我感觉是,有很多用户会用org-mode进行知识管理,整个生态也会不断地借鉴新的知识管理方法和工具。有人用org-mode做了十几年的笔记,这点让其他笔记难望项背。这也让我有很强的安全感:我可以一直生活在这个生态系统,根据我的需求调整,而不用花费精力迁移笔记和项目。

所以我觉得关于emacs的讨论如果不只是围绕技术,而是关于怎么应用在生活工作场景可能会吸引到更多人。客观来讲,关注怎么读书、推进项目、管理文献、整理笔记的人比关注技术的人要多得多。如果有更多人了解到这些事情不只可以由Things、Evernote这样的软件实现,emacs在深度使用上会有更好地表现。那么配合一些start-up的配置包,总有人会愿意额外地学习emacs来构建更适合自己的系统,因为emacs在某些情境确实是最优、甚至是唯一的解决方案。对于社区而言,这少部分用户也是优质的用户。

所以,论坛现在的分区要不要再开一个 学习效率 的分区?更侧重讨论在emacs中如何配合使用org-mode、drill、anki等package,提升个人工作、学习的效率?

PS 在我回复的时候,三次看到这个帖子处于XXX回复中的状态,感觉挺温馨的 :smiley:

9赞