一飞开源
阅读196

[开源]模块化VimIDE,支持多种语言开发,记忆辅助、可视化交互

一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介

模块化 Vim IDE,支持多种语言开发。

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

当前最新的稳定版为v2.0.0,发布于2022年7月2日,following-HEAD 页面罗列了 master 分支最新的更新以及变动。

二、开源协议

使用GPL-3.0开源协议

三、界面展示

运行截图

欢迎页面

工作界面

Neovim 运行在 iTerm2 上,采用 SpaceVim,配色为:base16-solarized-dark

展示了一个通用的前端开发界面,用于开发:JavaScript (jQuery), SASS, 和 PHP buffers。

图中包含了一个 Neovim 的终端,一个语法树窗口,一个文件树窗口以及一个 TernJS 定义窗口

四、功能概述

核心思想

四大核心思想:记忆辅助、可视化交互、一致性、社区驱动。

如果违背了以上四大核心思想,我们将会尽力修复。

记忆辅助

所有快捷键,根据其功能的不同分为不同的组, 以相应的按键作为前缀,例如 b 为 buffer 相关快捷键前缀, p 为 project 相关快捷键前缀,s 为 search 相关快捷键前缀, h 为 help 相关快捷键前缀。

可视化交互

创新的实时快捷键辅助系统,以及查询系统, 方便快捷查询到可用的模块、插件以及其它更多信息。

一致性

相似的功能使用同样的快捷键,这在 SpaceVim 中随处可见。这得益于明确的约定。其它模块的文档都以此为基础。

社区驱动

社区驱动,保证了 bug 修复的速度,以及新特性更新的速度。

显著特性

  • 详细的文档: 在 SpaceVim 中通过 :h SpaceVim 来访问 SpaceVim 帮助文档。
  • 优雅简洁的界面: 你将会喜欢这样的优雅而实用的界面。
  • 确保手指不离开主键盘区域: 使用空格键(SPC)作为前缀键,合理组织快捷键,确保手指不离开主键盘区域。
  • 快捷键辅助系统: 所有快捷键无需记忆,当输入出现停顿,会实时提示可用按键及其功能。
  • 更快的启动时间: 得益于 dein.vim, 90% 的插件都是按需载入的。
  • 更少的肌肉损伤: 频繁使用空格键,取代 ctrl,shift 等按键,大大减少了手指的肌肉损伤。
  • 更易扩展: 依照一些约定,很容易将现有的插件集成到 SpaceVim 中来。
  • 完美支持 Neovim: 得益于 Neovim 的 remote 插件以及异步 API,运行在 Neovim 下将有更加完美的体验。

适用人群

之所以开发 SpaceVim 这一项目,目的在于维护一个模块化、开箱即用、稳定的 Vim 开发环境, 尽最大可能地处理好各种插件以及工具之间的依赖关系,为 SpaceVim 用户节省搜索、配置、 学习插件的时间。

因此,SpaceVim 适合于:

  • 初级 Vim 用户
  • 追求优雅界面
  • 尽可能减少肌肉损伤
  • 追求简单但是可高度配置系统的 Vim 用户
  • 追求统一的编程环境
来源:SpaceVim官网文档。

五、技术选型

安装指南

在安装 SpaceVim 之前,需要确保电脑上已经安装了 Git 和 cURL。这两个工具用来下载插件和字体。其次,需要安装 Vim 或者 Neovim,同时启用 +python3 的支持后使用体验会更好。

详细内容请查看 SpaceVim 官方文档。

项目代码结构


├─ .ci/                           自动构建脚本
├─ .github/                       issue/PR templates
├─ .SpaceVim.d/                   开发者配置
├─ autoload/SpaceVim.vim          核心逻辑文件
├─ autoload/SpaceVim/api/         公共函数(API)
├─ autoload/SpaceVim/layers/      可用模块
├─ autoload/SpaceVim/plugins/     内置插件
├─ autoload/SpaceVim/mapping/     快捷键
├─ doc/                           帮助文档
├─ docs/                          网站源码
├─ wiki/                          维基源码
├─ bin/                           可执行命令
└─ test/                          测试文件

鸣谢

  • @Gabirel 的 《Hack-SpaceVim》
  • @everettjf 的 《SpaceVimTutorial》
  • vimdoc:自动生成帮助文件
  • SpaceVim 中所使用所有插件的作者

六、源码地址

源码下载

关注下面的标签,发现更多相似文章

一飞开源
发布了 篇专栏 · 获取点赞 · 获取阅读

评论

查看更多
相关推荐
关于作者
一飞开源
获得点赞 100
文章被阅读 1000
相关文章