zed 的最近发展已经让我可以把它作为全职编辑器了

总结一下:

  • 前 Atom 团队开发的
  • 用 Rust 写的,GPU 渲染 UI
  • 在这基础之上相当于改正了当初设计路线错误的 Atom,其它没了
1 个赞
  1. Emacs的历史比大家的年龄都要大,这是一个事实,在长达近半个世纪的长河里,出现无数多的编辑器都宣称要终结Emacs, 或者Vi, 但事实是Emacs和Vi仍然还活着,这还是一个事实,可以想见这个事实还将继续延续。

  2. 至于Emacs卡顿的问题,我的使用体验是没有这样的问题。要问有没有卡顿的情况出现呢,回答有,的确有,而且通常是我做错事了。

  3. Emacs在25时就已支持多线程了,有没有多线程不是决定Emacs品质的因素,至于Emacs在什么场景上、何时需要多线程支持的问题,可以自行先研究下,这是重点。

  4. 相比于其它编辑器,Emacs有一种特质,这种特质近半个世纪以来一如既往,就是自信,带给使用者的自信(Vi也有,但是两者有区别),这自信来自 我能控制 I can control!

1 个赞

emacs 性能有问题吗?有的,性能问题大吗?不大。至少硬件性能提升下 emacs 卡顿并不是问题。

想用 windows 还是在 mac / linux 上用 emacs 吧。 emacs 还是有在积极的开发新功能和维护的,但是 windows 确实缺乏有能力的开发者贡献了。主要是有时间精力开发自由软件的,有几个愿意用 windows 呢?

windows 上实在用不了就不要勉强用了,不要勉强和折腾自己,转投 zed 的怀抱也完全没问题。

还有一点,treesitter 也是 zed 开发的。treesitter 现在 neovim 和 emacs 都内置了的,所以 zed 在未来编辑器的技术栈上还是有一定话语权的。但是 头部玩家 vscode 不用 treesitter,all in LSP 的 semantic highlight。

我也开始用zed了,windows上苦emacs久已,当初看helix表现就想判逃了,不过helix的终端gui不习惯,再一个helix原生vim键,如果要支持ctrl-x ctrl-f这样的键估计有点麻烦,所以始终还是在用emacs。还有个Lapce编辑器,gui不错,至于怎么没看上现在忘了,暂时略过。但zed (windows这里下载 deevus/zed-windows-builds (github.com)) 从昨天一用上,粗略配置了下就感觉大部分想要的功能都有了。 在这里记录一下emacs转zed的平替功能点:

  1. emacs按键,zed 原生就支持ctrl-x ctrl-f这样的按键,beta版本已内置emacs按键,满足大部分需求。
  2. expand-region,自带,很明显是用tree-sitter实现的,够用了。
  3. multiple-cursors,自带,这点跟helix类似,新出的编辑器基本都支持该功能了。Ctrl+shift+f配合ctrl+shift+r可以跨文件同时编辑。
  4. magit,这个zed没有,但是添加task,运行lazygit可以达到同样的功能,因为zed对终端支持非常好,打开lazygit运行在zed里就好像自带一样。
  5. lsp支持,自带,补全非常流畅,lsp其它周边功能支持也是该有尽有。补全还有snippet支持我没试。
  6. 左边树型目录/工程浏览器,自带,并且支持git status状态区别显示。
  7. imenu-list,好像是outline panel
  8. project功能,自带一些功能,如project切换,project内文件查找,搜索,project symbol search等,感觉够用了。
  9. 历史位置前进/后退,这个功能在vim等其它编辑器都做得很好,但emacs里相关的包感觉都不理想,只是勉强能用。

先记录这些,后面有再补充。

4 个赞

这些几乎是一个现代编辑器都会提供的功能了,很难说是特色。比较吸引我的,也是 emacs 现在做的不好的有:远程开发,协作开发,轻快(没多少历史负担)。

后面有机会尝试一下。

说白了大家还是喜欢开箱即用,在门槛低的前提下提高上限。Emacs门槛确实高,所以用户少这一点怨不得人,同样毛病的还有Vim,都式微了。

有个小问题:话说 treesitter 是如何与 lsp 配合使用的?

我要针对你的第一点进行哲学上的反驳了:

想象这样一个场景,历史上的某一个朝代,他已经经历了许多叛乱,但都被镇压了。这时又爆发了一次叛乱,这时就可以说了:“之前的叛乱的人都说这个朝代要完了,但是结果叛乱都失败了,可见这个朝代还会继续下去。”但是这个朝代终究被推翻了,而在推翻这个朝代的那次叛乱中,也会有人说这句话。

因此你的论据一本身就是站不住脚的啊

1 个赞

然而我觉得 doom 和 space 已经很开箱即用了。

“可见”是一个预测(概率)问题,不是一个哲学问题。可见 emacs 要消亡,或者可见 emacs 不会消亡,都没问题。

当然是以最初级用户为标准呀,比如非程序员的普通用户,他们可能连 terminal 都不清楚是什么。

前Atom团队开发,Atom应该是能终结emacs,vim的编辑器中最失败的一个, 但为啥还有那么多人看好原Atom团队, 是因为tree-sitter的原因吗

感觉跟开发语言是 Rust 的有关系。风头无两。

不只 tree-sitter,Atom 启发了快要目前最可能终结 Emacs 和 Vim 的 VSCode。Electron.js 本来实际上是为了 Atom 开发的。所谓 Atom 失败,也只是被它后继者的 VSCode 取代了。

5 个赞

任举一例: Windows 下使用 Emacs 的 Tramp, 要多麻烦有多麻烦. 还得先去下个 PuTTY, 而且使用过程中还有坑, 这些我都忍了, 慢慢摸索就是. 最难蚌的是不管在 Windows 下还是 Linux 上用 Tramp 都巨卡, 跟 VSCode 的比就是弟弟. 有些功能适合 built-in 用 C 写而不是 Lisp, 比如这个.

再一个, 平滑滚动也是千呼万唤始出来, 而且还对设备有要求 (当然你可以下软件绕过这一点, 但我综合体验下来用的最顺的还需要付费).

不想用 putty 的话,用 Windows 自带的 OpenSSH,tramp 方法选 sshx 就行,哪怕懒得看自带的 Info,解决方案论坛里搜也有

显然你都没试过 rsync 方法,甚至 ssh control master 方法。

6 个赞

你说得对但是应该没多少 Emacs 新手会了解这些东西, 并愿意花费精力去尝试, 然后应用到自己的配置中. 你跟我说这些 workaround, 我可能也许大概能看懂, 但你要是让一个初次接触 Emacs 的人去干这种活儿, 我恐怕他转头就去下载 VSCode 了.

2 个赞

但是我觉得新手应该不知道还有 tramp⋯⋯反正我是用了两年 Emacs 才实际把这功能用起来的。

所以一般我默认都知道 C-x C-f 有这么个隐藏功能了,应该得有不错的答案搜索能力,觉得不好用可能就是单纯没有动力去改进 workflow,凑合能用就行的心态。

4 个赞

+1