前辈们,emacs适合我吗

他就是一个web,然后套的一个壳

如果只是看你的需求:

  • 写 dotnet
  • 写 vue

实话说真的觉得 VSCode 更适合

  • 毕竟 dotnet 是微软爸爸出的,VSCode 也是微软爸爸出的,亲儿子之间关系肯定更好,Emacs 的 lsp-mode 我感觉真的还没有好到 VSCode 的程度
  • 其实 Emacs 对前端的支持挺弱的(我自己是个前端),整个生态很多时候还没 Vim 好(我 Vim 用了五年,Emacs 用了快五年了),举个最简单的例子,mdx 这个东西,Emacs 到现在还没有一个合适的高亮和 mode ,但是 Vim 和 VSCode 早就有了

.net的话不应该用宇宙最强IDE VS吗 :joy:

1 个赞

我入行不久,不是前辈,但是有一点点个人体会。

Emacs/Vim 适合你对代码非常了解的情况,一般这种项目是个人项目,或者你就是这个项目的主程,或者10个人以内的小团队。Emacs的补全和重构的功能实在是太弱,除非你对自己要写的代码的上下文环境很熟悉,否则基本没法干活。

举例来说,我的经验是Emacs的大部分补全后端在规模100万行代码的项目里基本没法用,而相比之下JetBrains的IDE能流畅开发(当然配置要跟上)。这种规模的代码库一般都不太可能是你一个人在开发,几十个人动过这个代码库之后,你根本不记得这个代码仓库有多少外部依赖,模块之间的关系,模块有哪些API,有些模块有重名的私有函数。有些函数有几百行长,不明所以的变量名字,同名变量被重复使用,甚至不同模块的风格都不太一样,A模块大括号换行,B模块大括号不换行,C模块用空格,D模块用tab… 你问为什么?因为不同的模块甚至都不是同一个团队开发的,有5,6个团队在这个代码仓库上工作…

你需要IDE对抗团队成员的不好的编程习惯,克服合作开发的内耗,不断变更的需求,对抗自己不断衰退的记忆力。 如果你没有上述麻烦,就可以用Emacs/Vim开发大项目了。

对于个人项目一般都不存在前两个问题了,这种项目的规模一般在10万行以内,很多开源项目都是这个规模,而且开源社区文档齐全,开发流程规范(讽刺的是很多公司的内部同等规模的项目都做不到这些)。

总之,当你熟练使用Emacs了,接下来想要持续使用,对你的考验是你的记忆力和对写程序这件事的热情。

6 个赞

感觉自己入门都好久了,除了打算完全用数据结构实现一个函数外,基本不咋用来编程,一般都使用org-mode多些,如果不是对这个编程语言和包名、内容足够了解,个人觉得效率并不会比编译器高:joy:(也可能是我太笨),更多时候就像是喜欢折腾一样用来玩的:roll_eyes:

这两天忙死了。摸都没摸。 org-mode这么好吗? :smiley:

这样我还是vscode为主,emacs慢慢来吧。学的太慢指不定哪天就遗忘了 :expressionless:

vs确实爽到不行

emacs 是锻炼学习的过程。 学会了不管以后出啥好编辑器都跟没看见不知道就好了,全无视。

1 个赞

我也是.net开发的,我个人建议sln还是visual studio,在UI层方面vs有绝对优势,但是写类库,小组件,ibatis这种东西的时候就未必了。GitHub - OmniSharp/omnisharp-emacs: Troll coworkers - use Emacs at work for csharp! 你可以看看这个,vsc的C#官方扩展也是这个团队做的,代码补全之类的体验应该不会有差别,当然,跟vsc的体验差距有可能会在debug的时候被拉开,我感觉emacs下C#的扩展还是相对较少的。

1 个赞

我现在觉得vscode有时候还没emacs直观诶。开箱能用是方便,不过emacs离开箱能用也就差一点点基本配置。然而深度定制总觉得vscode不够直观,很多插件文档不好找诶。emacs装个插件,基本上M-x几下,看着名字大概都知道有些什么用,接着稍微配置下快捷键就好了。

emacs我个人不建议一开始直接用别人的复杂配置。比如常写js,一开始只要改好下载源,装个主题,然后配置一下js2 mode和补全就好了。这个工作量不会太大。先能用,碰到不顺手再搜,慢慢配置就熟悉了。入门了再参考别人的配置,起码看得懂他在干嘛。

vue确实很少写,react补全还是不错的。emacs最棒的是一些小众语言容易找到插件,前几天开win试了下vscode的racket,直接下来不能用,配置也找不到,懒得研究了。

直接用vscode吧,写vue基本都是前端的东西,肯定vscode更方便点 如果想装逼使用emacs写代码或者org,再用emacs。其他情况感觉没必要找麻烦。IDE还是比emacs好用。 我之前配置过vue的emacs配置,大致就是webmode+lsp+flycheck+prettier