为什么使用emacs或vim

  1. 高定制性
  2. 编辑特性

为什么有公用配置文件

  1. 快速上手(开箱即用)
  2. 减少成本

思考

我们使用emacs这类软件,目的是为了可以高度定制性。我们在这些软件中可以控制一切。而emacs因为lisp的特殊性(这个软件就可以说是一个emacs lisp环境),基本可以做到任意程度的定制。

如果我们使用了一个配置好的文件,开箱即用了。这个配置,做了什么,以spacemacs为例,它包含了大量插件,以及使用配置。同时也提供了一个配置接口,让我们可以二次配置。可是这些大量插件我们需要使用么?唔……不好说啊。虽然我们可以禁用他们,但是不用的东西还存在干什么?

可是这样有什么意义?了解emacs?了解vim?确实有用,但是不深入,入门可以,但不应该做为最终长时间使用的工具。何况这个过程中,对lisp或者vimscript真的了解很多了么?

和在用那些IDE或者其它编辑器又有什么差别呢?因为这于使用类似于atom或者vs code又有什么区别呢?我们打开他们和spacemacs后,都包含了大量插件以及定制好的操作。没有什么区别吧。而且其它的现代编辑器,在各种方面还要优于emacs吧。

通过自己配置,可以做到只留需要的部分,而且自己写的代码,就算很差,也能有自行维护的能力。更何况,我相信能自写配置的人,代码编写能力不会太差的(对于vim而言,其配置思想主要是变量,在难易度上要比emacs更容易上手与配置)。想要做什么修改也很方便。更不会出现用到一半出现了bug,为了维护却要先花大量时间去阅读代码。

而且,对于一个可配置的东西,我却用别人配置过的再配置一次,这能叫定制么?

更深入一点,我们用linux,大部分人应该用的都是发行版(可以自己下内核编哦~不过太麻烦了,还是算了吧)。而大部分发行版都是按版本,以及内含大量工具的。确实在生产中会很方便,但对于个人而言,用着这大量你不需要的工具,你内心不痛么。当你接触过gentoo或者arch。从分区到内核编译再到全手工定制,这种快感以及控制性,真是太棒了!!咳咳!比如ubuntu的apt-get,虽然易于上手,但在各种其它方面都不尽人意,特别在于编译配置方面,同样的,yum与dnf也是一样。后二者是通过同一软件分多个子包来完成。这个方法,真是不敢恭维。而对于一些编译选项集合,可能就会出现无法同时使用的情况呢。自己下代码编译?不错,但是更新管理会比较麻烦。这时arch与gentoo就体现出来了。特别是gentoo,因为是纯手工编译定制,还提供了更新。arch是二进制,但也可以高度定制。这不妙哉?

结论

  1. 没有耐心或者学习精力,却又想要用emacs的,就用这些配置吧。只是,我认为毫无意义。
  2. 快速上手,用于学习过度,但不适合长时间使用。
  3. 最终转向自行配置,学习优秀配置文件的思路。比如spacemacs的结构已经layers思想。
  4. 折腾是一个hacker应有的精神。不是自己定制的东西,能叫定制么?