SpaceVim - 模块化 Vim IDE

本贴最后更新于 1572 天前,其中的信息可能已经时移世改

初心

使用 Vim 已经有好一些年头了,最初也经历了到网上搜索各自配置教程,这个过程非常有趣,也有些痛苦,经常因为一些莫名其妙的错误不知所措。随着接触 Vim 时间越来越长,也了解到了各自组织 Vim 配置文件的方式。其中 airline 作者的配置给我印象最深,使用一个全局 List 变量,来定义需要载入的插件组合,这已经有一点模块化的思路了。再后来,受到 spacemacs 这个项目的启发,我新建了 SpaceVim 这一项目,其核心目的在于:

  1. 提供一个稳健的、开箱即用的 Vim 基础配置环境
  2. 对不同语言的支持,封装成一个模块,模块里自然包括一些语言相关的插件和配置,用户不需要去搜索各自插件、配置,只需要载入该模块即可以得到一个完整的语言开发环境。

关于 SpaceVim

614629200bd9d000a9a611e98e1fc70d6ec6ca1e.png

项 目 主 页: https://spacevim.org/cn/

Github 地址 : https://github.com/SpaceVim/SpaceVim

SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
即用的 Vim-IDE。

最新 release 版本:v1.5.0

启用模块

比如启用 python 语言模块:

[[layers]]
   name = "lang#python"

目前支持的语言:https://github.com/SpaceVim/SpaceVim/wiki/programming-languages

在这个列表里,将列出所有 SpaceVim 已经支持和计划支持的语言,如果你对其中某个语言有兴趣,欢迎进入相关连接讨论,对于没有连接的,可以在 SpaceVim 的 github 仓库新建 issue 讨论。

中文社区

可以在官网看到,SpaceVim 的社区分两个,(中文、英文),而在每个社区里,分如下几个分支:

  1. 提交 bug,或者新特心需求,建议去 Github(英文) 或者 Gitee(中文)
  2. 贡献代码,毫无疑问 Github PR,SpaceVim 有一些镜像仓库,比如 gitee、gitlab,是为了方便用户下载,毕竟 github 在国内还是有些慢的。
  3. 日常讨论(即时消息),gitter 中文同步交流群,官网右下角既有聊天按钮,同步着电报、IRC 等平台
  4. 其他讨论,这些就分布在各个社区,比如知乎、比如掘金,当然也包括黑客派。所以,可以在黑客派下的 SpaceVim 标签下进行经验、技巧分享。

https://hacpai.com/tag/spacevim

相关讨论

这里罗列了一些跟 SpaceVim 相关的讨论:

  1. 如何评价 SpaceVim?
  2. 如何完善 SpaceVim?
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    29 引用 • 66 回帖
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 99 关注
  • IDE
    21 引用 • 83 回帖 • 1 关注
6 操作
goodbye 在 2020-08-02 13:25:54 更新了该帖
goodbye 在 2020-04-19 13:53:07 更新了该帖
goodbye 在 2019-10-21 22:39:08 更新了该帖
goodbye 在 2019-10-21 22:16:20 更新了该帖 goodbye 在 2019-10-21 20:42:39 更新了该帖 goodbye 在 2019-10-21 20:40:37 置顶了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • goodbye 4 评论
    作者 MOD

    我看了下,ctrlp 有一个变量,可以设置用户命令,这个默认使用的 grep 命令应该出现了问题。

    没关系,我还有另一个文件查找插件可以用
    someone27889 1 赞同
    @ferried 建议使用 leaderf 这个模块,leaderf 的体验和 ctrlp 类似,但是速度要快很多了。
    goodbye
    fzf spc f f
    someone27889
    @ferried Fzf 也是非常不错的插件,查找也很快。
    goodbye
  • 其他回帖
  • 昨天那个问题在更新了代码以后已经没了,现在是 开启 lang#typescript 以后 用 nvim 打开 ng(angular)项目 报错

    image.png

    方便调试的话项目地址在:https://github.com/myheroacademia/myheroacademia-index
    toml:https://github.com/ferried/spacevim.toml

    1 回复
    1 操作
    someone27889 在 2019-10-25 20:58:54 更新了该回帖
  • 88250

    你好,目前只有标签 /tag/SpaceVim,管理权限也是平铺的,有标签信息更新权限的话可以更新所有标签的信息,有帖子管理权限的话可以更新所有帖子,没有针对版块版主的设计。

    以后可能会增加 /project/Xxx,主要动机是想让 B3log 开源项目逐步脱离 GitHub,比如 README、Issues 等在社区交流更方便快捷,用户解决问题会更加集中高效。当然,这个想法是否适用于其他项目,或者说大家是否觉得黑客派能够担此重任还得另说 🤣

    目前我已经把我这边相关项目的 README 迁移到社区里了,当然这还只是非常初步的阶段,后续会慢慢将项目的 Issues 沟通机制也迁过来,最终的目标是仅在 GitHub 上托管代码,项目的计划、发布、文档、反馈交流等都在黑客派上进行。

    1 回复
  • goodbye 1 评论
    作者 MOD
    1. 跳转到源码应该是快捷键 g d
    2. 参数简介,这个快捷键不是每个语言都有的,正常应该是 SPC l t
    3. 如果当前文件时仅有的一个窗口,文件树不算,那么 q! 肯定会关掉编辑器,如果你是要关闭当前 buffer, 可以使用 SPC b d
    4. SPC ' 打开的终端窗口确实不会实时刷新,这个是 vim/neovim 本身特性引起的
    5. 新建文件夹的快捷键暂时没有呢,你可以新建一个带有文件夹目录的文件比如 test/test.txt,这时候会自动新建 test 文件夹。
    1 回复
    感谢 🙏
    someone27889
  • 查看全部回帖