当前位置:去回答>百科问答>Emacs还值得我学习吗?

Emacs还值得我学习吗?

2024-06-29 11:10:46 编辑:join 浏览量:543

Emacs还值得我学习吗?

Emacs入坑三部曲

1 作为2016年的开发者,你需要学习Emacs(或者Vi)

2 我为什么从Vim叛逃到了Emacs

3 手把手教你从Vim迁移到Emacs+Evil

一定要记住,Emacs不是只用来写代码的!

你可以用它来做复杂的计算:

为程序员和计算机科学从业者所写的emacs-calc教程

你可以用它来做窗口管理器

使用Emacs作为我的窗口管理器

你可以用它来阅读RSS

在Emacs中用elfeed阅读你的RSS-feeds

你可以把它当成PPT一样来做演示

用Emacs作展示

你可以用它浏览网页

超越编辑器的边界(在Emacs中用XWidget浏览网页)

Emacs内置浏览器EWW

Emacs才是世界上最强的IDE – 用w3m浏览网页

你可以用它管理配置文件

教你用Org-mode管理dotfiles

你可以用它来写电子书

使用org-mode在leanpub上发布电子书

你可以用它浏览图片

Emacs作为图片浏览器

你可以用它管理文件

Emacs文件管理神器--dired常用操作说明

你可以用它来做merge和diff的工具

smerge-mode帮你解决merge confict

使用Emacs ediff作为git diff工具

使用Emacs ediff作为git merge工具

你可以用它收发邮件

使用Emacs发送电子邮件

使用Rmail收取邮件

还能把它当python用

如何编写EmacsScript

它有自己的shell:

用Emacs-shell替代zsh

还有一堆的游戏可以玩

fun-games-in-emacs

所以,你是想入坑呢?还是想入坑呢?还是想入坑呢?

学生好好读书最重要的。现在用不用Emacs只是小事一桩。现在不用,将来可能又捡起来也说不定。

我还是学生时就知道Emacs了,但是一直没想去学。直到人到中年时才开始用,一年也很厉害了,不比那些几十年经验的Emacs用户差。所以早学晚学没什么区别。关键能发掘出Emacs对你的实用之处。

虽然我也算emacs忠实用户,但你的情况我不建议学emacs。说实话,emacs和vim的快捷键联合用会特别头疼,所以我即使用spacemacs也只用emacs mode/vim mode,而不用hybrid mode。也就是说,联合两个编辑器快键是一种不太现实想法。

选择新工具也要有原因,如果emacs提供不了更多vim可以提供给你的 必要 功能,何必花时间去学?

懂lisp和你选emacs也没啥必然联系,因为99%的人都不会自己写插件,最多搞搞配置,撑死了debug一下别人插件的bug。况且emacs-lisp也有一些难以灵活应用的地方,比如dynamic scoping这种特性( 感谢 @Darksun 补充提醒,我当时学的时候用的emacs23版本,信息过时了。24.1后的版本有支持lexical scoping,是用宏基于dynamic scoping做fake lexical scoping,参见 link ;macro虽然很强大,但使用技巧也过于高超:写macro的过程更加像是自定义语言的过程,我其实强烈怀疑初学者是否能驾驭得了宏)。

我用emacs的唯一原因就org-mode,写各种文档和各种管理不要太方便,因为看的书太多,笔记记得太多,所以这种东西对我来说是必要的(其实vim结合Markdown写笔记也应该是够了,只不过我一方面习惯了org-mode,另一方面写latex是我非常大的需求)。

我觉得高中生应该再学点其他基本功比较好。如果你精力太旺盛以至于单纯OI算法让你学的没什么兴致,不如看看高数、线代、概率统计,折腾一下系统、网络、web。也比花时间学一个很难学但是功能和vim差不多的编辑器更加有意义。

值得啊,十分钟入门,简单实用的轻量级背单词利器,也可以作为Proof Assistant的IDE使用

Emacs 值得使用,但是深入与否看个人。我就用 Emacs,VIM 也用(原因是 Emacs 无法编译到一些嵌入式平台)。用 Emacs 的原因是相比手敲指令我更接受快捷键,这方面 Emacs 比 VIM 做得更全面。

不过,当你把 Emacs 整成一个 IDE 或者其它复杂工具集合的时候,你会发现它不仅做不好那些方面,还有高出其作用许多的学习成本。简而言之就是折腾它和它能给你带来的便利这之间的性价比比较低。即使 VIM 这么轻量级的工具加上一大堆配置和插件以后都会变得缓慢,更不要提 Emacs 了。

所以不管我用 VIM 还是 Emacs 我都会让它更接近原始状态。我当然是一个喜欢折腾的人,但我不觉得有意义。

回到问题,Emacs 值得学习吗?如果你确定要用 Emacs 那么它自带的指南你肯定要学习的,网上一些高级使用方式也可以尝试。但是不表示你要把它折腾成一个万能的玩意,其实说实话编辑器一点也不好玩,比它好玩的东西多了去了。

————

另外,我从来不用 Emacs 写代码, 从来不用。 它主要的用途是用来编辑配置文件的。

如果说某些情况要在服务器上写代码,必须使用它。如果是轻量级的(Shell 脚本)那可以,如果稍微重一点的达到小工程程度的代码我会在本机写然后用 CI 自动发布到服务器上,即使 Emacs 玩得再熟也比我这种方式效率低得多。

————

最后,请记住,没有人强迫你放弃鼠标,也不要被强制灌输而接受鼠标等于低效这种洗脑。

spacemacs 用evil mode ,兼具emeacs的强大和vim 的键位

不过貌似vim的用户比emacs多很多

如果谈效率,不需要学,大部分情况下还是IDE效率高。反过来Emacs会耗费你极多的时间用于各种配置。为了一天的工作量而反过来花几天时间把Emacs环境配置顺手是经常的事。

如果谈兴趣,那Emacs几乎是程序员最有趣,也是最有益的玩具之一了。反正我用了二十几年Emacs,纯粹是出于兴趣,而且至今趣味盎然。从不理解为何Emacs可以称为神器,到天天使用离不开Emacs。说实话我现在都很难想象我会花这么多时间在一个编辑环境上,何况我现在基本都不编程了。尽管通过使用Emacs我对动态编程理念等方面的确有了更深入的了解,但是我很难说投入的这些时间让我得到了多少收益,因为这些都是次要的,兴趣就是兴趣!

不必要专门去学,掌握以下几个编辑方法就可以开始用了:

以上大概需要你五分钟的时间。如果你需要长期工作在shell环境下,学会了emacs/Vim还是很方便的。曾经不会用命令行编辑器,导致只能用sed/awk来修改配置文件,这种事,刚刚入职的时候还能犯一犯,经常犯总不太好。

其他的高级功能慢慢的用到了也就会了,没用到的也可能就和你的使用场景没什么关系。

我从来没花大时间折腾过编辑器,但是持续用了五年左右的emacs之后,这已经是最顺手的一个编辑器了,golang和c++环境都不知不觉间配置了起来,算起来调整配置的时间可能也没花一两个小时。

说起来也不是用了什么编辑器就要忠贞不渝的,我看别人的c++代码会用woboq_codebrowser,写自己的代码用emacs,写Java用Eclipse(好多年没写过Java了,据说JetBrains家的IDE要好很多),改一些奇奇怪怪的配置也偶尔用用Vim。

工具说到底是手里的锤子,好用就行了,你总不能指望它变成手。

不值得学, 也不需要学. 但是很值得一用.

cider和ensime之类的, 我个人觉得都比jetbrains家的好用

不值得,顶多熟悉下 key binding,以后在不同ide/editor 里都选择 emacs mode 减少学习成本。

Guido 都吐槽过用 Emacs 是 old school mind compatible,真没必要折腾。

引以为豪的org mode 也没好到非它不可的地步,好笔记软件多了去了。

特别是刚学编程的人,应该重心放在编程,而不是 yak shaving。

利益相关,用了 Emacs 7年,写过一些插件,因为习惯,现在还少量使用。

现答案:值得,应该学。

原答案不符合本人现在的观点,删除之。

对于 Emacs,我觉得很值得去学:

另外我觉得 Spacemacs 已经把门槛降到非常低,连我这种菜鸟都能学会。对于 Vim 用户,转 Spacemacs 更是方便至极。更多的可以看我之前写的一篇博客: 为什么要用 Emacs

先说说 Emacs 给我带来的方便

然后说下不推荐的:

用过一段时间以后, 就会想把 Emacs 搞成各种 ide. 但是成本确实太高, 而且真的不好用... 可能是因为我是用 IDEA 的吧... IDEA 可以一键设置Emacs快捷键. 真是嗨的不行, 别想着拿来写代码了, 真的不方便. 各种跳转, 智能补全远远不及IDE, 而且配置繁琐, 分分钟让人想弃坑.

最后总结一下:

Emacs 带给我的主要就是一套操作光标的快捷键, 这个是目前为止最有用的. 当然只要操作光标能不用鼠标, 自创一套快捷键也无所谓, 我想没用Emacs之前, 没多少人知道 Windows 的移动行首行位这种快捷键吧. 都是用鼠标点的, 次数频繁了以后真的很烦躁的...

根据题主已有描述的情况,和我的一些推断,我认为不值得题主学习,理由如下。

1. 作为高中生应该没有非桌面的Linux环境生产需求。只是桌面环境的话有更多的工具可以选择,可以避免繁杂的入门方式把精力放在更值得关注的地方。

2. 编辑工具本身可替代性很高,没必要因为名气等因素去尝试,是一种可以熟能生巧的东西,在具备环境下再了解与学习成本更低。更何况题主已经会使用vim。

3. lisp语言本身分支较多,没必要从elisp入坑。想了解函数式编程思想应该有更好的方式,这个我不了解就不妄言。

标签:Emacs,值得,学习

版权声明:文章由 去回答 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.quhuida.com/answer/147233.html
热门文章