What is so great about vim and emacs?
我是一个相对较新的编码器,并一直使用sublime,Atom和Xcode编写软件。 是否有关于他们的东西使他们如此特别:如果是这样的话是什么?
在关闭之前因为不允许有趣,请允许我给出一些关于为什么Emacs如此特别的指示。
Emacs不仅仅是一个文本编辑器,它是一个完全成熟的lisp机器,运行一个名为Emacs Lisp的特殊版本的lisp。它恰好运行文本编辑软件,但它可以运行任何类型的程序。我知道有人设置它来检查他们的电子邮件,控制Spotify等等。如果你想做那样的话,甚至还有一个视频编辑器。
Emacs非常复杂和巴洛克式。这是它魅力的一部分。有些软件包可以对其进行修改,并对其进行更改并根据您的喜好设置所有内容。我有一个安装源代码控制的软件包,用于SQL(各种方言)的IDE,Common Lisp(称为SLIME)以及其他一些简洁的东西。
Emacs是你应该塑造适合你的工具的最终表达。它做了很多事情,做得很好,但它更喜欢采用其他工具并将它们集成到emacs中。 Emacs是一个真正的集成开发环境。有你喜欢的调试器吗?您可以非常轻松地让Emacs与之交谈,并随时添加更多功能。有编译器吗? Emacs也可以设置为与之交谈。除了与你的makefile(或你用来构建你的项目的任何东西),你的版本控制,以及你想要的所有其他东西,从舒适的Emacs住所。
另一方面,Vim恰恰相反。它很小(很快),速度快,而且开箱即用的功能有限。你不是要重新绑定钥匙。使用Vim的每个人都使用相同的键绑定,相同的动作等。但是,按键在您的手指上快速且经济。"d5w"是一个"删除5个单词"的命令,相对容易记住。 Vim是工具应该很小,做一件小事并且做得好的哲学的终极,用户应该学习这个工具。
Vim没有将程序集成到其中。 (我的意思是,有扩展可以做到这一点,但它不是基础哲学。)相反,Vim背后的想法是你编写代码,从编辑器切换到构建系统,然后使用它编译代码。实际上,您将使用操作系统作为IDE。
他们在每一个人生观中都是不同的,他们都是好工具。您必须自己考虑并决定适合您的工具类型。
VIM是Bill Joy用于Unix的vi文本编辑器程序的复制品。它是一个主要用于终端的编辑器。例如,您正在查看系统文件/配置文件,您必须编辑一行。您使用vim编辑器打开文件进行快速编辑,然后退出。当您在正确的目录中时,您可以轻松地在终端中输入:
1 | vim"the filename" |
如果你想在xcode / sublime / atom中做同样的事情,你必须打开它并导入你需要的文件,这会花费你更多的时间
你可以在这里阅读emacs和vim之间的区别Emacs和Vim之间的区别