emacs .emacs
为什么首先要学习另一位编辑器?
好的编辑器的主要作用是在工作时不会妨碍您,甚至可能会不时有所帮助。 如果您是一名程序员,那么您可能会花大量时间使用一个程序员,这就是为什么选择一个好的编辑器如此重要的原因。 学习新的编辑总是一项巨大的投资–在驯服所选工具并根据需要进行调整之前,需要花费大量时间。
我是IntelliJ Idea的长期用户。 这对Scala / Java开发非常有用,可能是市场上最好的。 但是,从某些方面来说,它感觉有点沉重。 即使是最微小的实验,您也必须创建一个“项目”,并使用其自己的窗口,元数据目录等。您需要经过一个简短的向导,然后必须将其导入并建立索引,然后重新导入,重新建立索引,…。 也许听起来并不多-但这绝对不是“轻量级”的体验。
在所有这些情况下,您只想编辑文件。 也许这是一个简单HTML页面,或者是markdown中的博客。 或者,也许您想从GitHub快速克隆存储库,然后浏览而不用担心整个导入过程。 这就是为什么除了像IntelliJ这样功能完善的IDE之外,还需要另一个编辑器的原因。
多年以来,我都没有使用Vim或Sublime,但我也从来没有真正学过,我只知道基本的快捷方式。 但是我认为是时候该更好地了解至少一个“常规”编辑器了。 在Sublime,Atom,Vim和Emacs之间进行选择,我决定选择最后一个。 为什么? 好吧,我听说过所有传说中的黑客都在使用它们,所以尽管我离传说中的黑客还很远,但我还是想至少在编辑器杠杆上加入他们。 其次,Emacs似乎在编程界越来越流行-再次尝试是一个很好的理由。 最终,它已经存在了很长时间,并且仍在为新语言(请参见Ensime )进行开发,以确保其中必须包含某些内容。
结果
一如既往,有好有坏。 经过3个月的实验,大部分时间用于配置Emacs,尝试不同的模式并学习elisp,但我不确定哪一方会胜出。 我将跳过与其他所有键键完全不同的键,因为那只是该工具的特征。 考虑到Emacs的年龄,您可能会认为所有其他工具都应使用Cw进行切割,而不是反过来使用(我目前正在将IntelliJ用于Scala和Emcas进行其他所有事情。何时使用哪个键盘映射)。
从好的方面来说,无论我是在PureScript中进行实验,在Markdown中编写博客,浏览简单的Scala项目还是进行快速CSS修复,都具有同等的编辑体验绝对是一件很棒的事。 Magit非常适合git –如果某个父目录中只有一个.git ,我可以使用相同的友好(!)界面进行提交,分支和推送。 在没有创建任何显式项目的情况下, 抛射物对目录何时成为项目的一部分以及项目根目录在哪里具有很好的启发作用,这使我可以导航到项目中的其他文件(同样,通常由.git目录所在的位置划定),而无需任何其他步骤。
在好坏两方面,您都必须自己配置所有内容。 毫不奇怪,这与Linux一样。 在我年轻又聪明的时候,我很乐意花大量的时间使用Gentoo论坛上发现的深奥的编译器设置从源代码重新编译所有内容,然后花一些时间尝试使声卡正常工作。 但是现在我是一个快乐的MacOS用户,很高兴,因为我不必处理那些事情。 因此,以Emacs的“配置所有内容”经验来说,我感觉有点年轻,但后来我想我可能想要一个在某些时候“可以正常使用”的编辑器。
在绝对不利的方面,不同模式/程序包(插件)的质量会有所不同。 它们通常提供不一致的键绑定,这会导致您要么重新定义配置中的键映射,要么根据当前使用的语言存储不同的键绑定。例如,在编辑Markdown时,分配了我用来在单词之间移动的键组合更改标题大小。 另一件事是自动缩进。 在某些语言中,效果很好。 在其他情况下,它常常会丢失。 我肯定我自己可以解决所有这些缺陷,例如通过使用建议机制覆盖一些elisp函数。 但是我不想成为一个全职的Emacs配置器。
在将来 …
谁知道,您可能会看到我有一天从Emacs进行实时编码演示。 或不 ;)。
还是Jetbrains将基于他们在IntelliJ中的出色基础来开发通用编辑器? 无需创建项目,仅需浏览至目录并在其中编辑文件即可。 那绝对是在编辑大战中非常强大的竞争者。
翻译自: https://www.javacodegeeks.com/2016/08/started-learning-emacs-2016.html
emacs .emacs
本文探讨了为何在现代编程环境中,Emacs编辑器仍具有吸引力。作者对比了IntelliJ IDEA与Emacs,强调了Emacs在灵活性、自定义能力和适应多种编程任务方面的优势,同时也提到了其学习曲线陡峭和配置复杂性的挑战。

984

被折叠的 条评论
为什么被折叠?



