初衷

spacemacs 可能已经成为 emacs 社区中 “唯我独尊”的配置,在 github 上有近万的 star, contributor 众多。它的 “社区驱动” (community-driven) 真的是很 “耐力持久”,贡献的人很多,UI 很漂亮,功能也很强大。作为 emacs 长久以来的对家 vim, 如果也能有一个这样一个社区驱动的配置,相信也会给大家带来很多便利。

正如 spacemacs 所称,“The best editor is neither Emacs nor Vim, it’s Emacs and Vim!”, 最好的编辑器既不是 Emacs 也不是 Vim, 而是 Emacs 和 Vim! 所以不管是从实用角度,还是从设计概念,操作哲学的角度,这两个都是非常值得学习的。此外,“编辑器”始终是编辑器,取代不了 IDE,因为吸引我们的更多是深入其中的过程。

就我自身的使用而言,GUI 环境下我会选择 spacemacs, 但是终端环境下 vim 依然是我的首选。我希望尽量保持这两个环境下操作的一致性。此外,vim 社区中,虽有 spf13-vim, k-vim 等一些比较有名的 vim 配置,但始终整合的不够,散落着很多适用特定环境的很好的配置,比如针对 c-c++, python, ruby 等等不同语言环境。还有大多也不够漂亮(当然了,这个有点主观,但不管怎么说,年轻人就是要挑“好看”的-_-)。

随着 vim8 的升级,会有很多新的更好的插件诞生,比如我用来替代 syntasticale, ale 使用了异步特性,再也不用因为语法检查而拖慢速度了。还有asyncrun.vim 等等,都会成为我们新的选择。 spf13-vim 等的更新似乎不太跟得上步伐,希望集体智慧能够给我们带来一个更好用的 vim 配置。

screenshot

愿景

集百家之长,惠千家万家。

概览

space-vim 既然是从 spacemacs 启发而来,自然借鉴了非常多的东西,其中最重要的一个概念便是 “Layer”.

目前实现了 Layer 的概念, 就像这样:

在 space-vim 中,所谓的一个 Layer ,其实很简单,就是集成了一些相关的 vim 插件及其配置,涉及到两个文件: config.vim 与 packages.vim. 不难理解,config.vim 为该 Layer 的相关配置信息,packages.vim 则为该 Layer 所需的一些 vim 插件。

比如 Layer better-defaults, packages.vim 中的插件有:

调整,增加 Layer 都非常方便, 这也为 “集百家之长” 提供了土壤。

.spacevim, 这个对应的是 .spacemacs, 用户可以自己决定启用哪些 Layer, 可以加载 space-vim 中没有的插件. 首次安装 space-vim 时,.spacevim 会在当前用户目录默认生成,其中主要有两个函数:

非常欢迎大家分享自己的使用经验, 三个臭皮匠还赛过诸葛亮呢,还不行? 那就四个:p。

当然啦,可能很多人觉得 vimscript 没有 lisp 那么有表现力,稍显蹩脚。Anyway, 都是工具,乐趣而已。如果能够集思广益,也是利己利人。

初期阶段,问题不少, 可做的事情很多,欢迎大家分享与贡献. :GitHub 地址: space-vim

1 1 收藏


直接登录