#扫描上方二维码进入报名#
MIT
跨平台
SpaceVim
简介
SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以 及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全, 语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱 即用的 Vim-IDE。
使用过程中遇到问题或者有什么功能需求可以在 Github 或者码云提交 issue,这将更容易被关注和修复。
以下是近几周的开发汇总:
安装
Linux 或 Mac:
想要获取更多的自定义的安装方式,请参考:
特性
快捷键导航,所有快捷键都有导航助记系统,而不需要用户直接记忆,使用几次辅助系统后自然就记住了;
快捷键描述系统,可以快速描述一个快捷键的功能以及快速跳转至快捷键定义的位置;
内置实时代码搜索工具,flygrep,这个内置插件支持常见的集中搜索引擎,ag、rg、pt、ack 和 grep,只需要安装一个自己喜欢的即可。
内置插件管理器界面,插件管理采用的是 dein,插件下载与更新则是采用内置插件管理器,使用了 neovim 以及 vim8 的异步机制,多线程下载,速度更加快。
软件更新动态
三个月前,作者发布了 v0.6.0 这个版本,随着 v0.7.0 的发布,让我们看看到底发生了哪些变化?
加入 clever-f 这个插件,并且默认启用,恢复了 f、F 等按键功能。原先的 unite 和 denite 的前缀键已删除。 #1460
默认禁用所有语言模块,开发者可根据自己实际开发的语言开启相应模块,甚至可以设定项目专属配置,即在编辑 java 项目时自动载入 java 模块,在编辑 python 项目时自动载入 python 模块,我相信每个程序员会用到的应该不止一种编程语言。
大幅度降低默认插件数量,原先版本200+插件,目前版本默认只有51,后续可能还会减少。
引入以下五种模块,用户可以根据自己喜好以及环境选择其中一个,这五个模块我做个适当的优化,在快捷键上基本达到了一致,详细可以阅读下这个 issue
fzf 模块 #1504
ctrlp 模块 #1503
leaderf 模块 #1498, #1476
denite 模块 #1491
unite 模块 #1487
默认禁用git,VersionControl模块,如果需要的话,自行在用户配置中载入。
移除大部分以 Leader 为前缀的快捷键,个人认为 Leader 这个按键应该是给用户自己去定义的,不建议占用太多,SpaceVim 中自定义了一个前缀键 SPC(空格键),实现方式可以阅读我在 reddit 发的一个教程:How to define custom leader in vim?
改进 tools 这个模块,并且默认禁用,该模块主要是提供了一些 vim 命令 #1507。
Iedit 模式 #1258
SpaceVim 内置了一种特殊的模式,Iedit 模式,这种模式提供了多光标支持,不同于已有插件的实现,该模式支持两种状态 :iedit-Normal 和 iedit-Insert。默认情况下 多光标输入时,iedit-normal 模式状态栏时是红色,而 iedit-insert 模式时是绿色。
高亮光标函数 #1394
SpaceVim 支持高亮当前光标函数,并且启动一个特殊模式,在该模式下可以快捷地切换高亮区域(方法内、屏幕内、整个文件内),并且可以快速在高亮函数间跳转、切换高亮状态(高亮、取消高亮),并且可以根据已选择的位置计入 iedit 模式。
实现内置工程管理,自动改变工程目录,并可以快速在多个工程之间切换,快速关闭整个工程。 #1245
自动根据 package.json 文件判定 javascript 项目工程目录 #1437
实现了窗口管理快捷键导航,默认是 normal 模式下的 s 按键,visual 模式的 s 键没有修改,可以正常使用 #1214
使用 ci 自动分离部分内置插件,如 flygrep,方便非 SpaceVim 用户使用 #1358
除了前面提到的五个模糊查找的模块,最新版中还加入了以下模块:
tools#dash 模块 #1366, #1365
lang#csharp 模块 #1433
cscope 模块 #1220
dart 模块 #1207
重写了内置插件管理器 #1446
关于版本控制单独做了两个模块,git 模块针对一些 git 专有功能,VersionControl 模块主要实现了一些版本控制软件兼容的功能,此外还有状态栏拓展 #1470
更多更新内容,请点击“阅读原文”查看。
软件详情及源码地址获取: