SpaceVim 0.7.0:像 IDE 一样使用 Vim,将语言拓展模块化 | 软件推介

2018 年 3 月 24 日 开源中国 SpaceVim

#扫描上方二维码进入报名#


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


更多更新内容,请点击“阅读原文”查看。


软件详情及源码地址获取:




推荐阅读

Java 10 正式发布!109 项新特性一览

NGINX 宣布支持 gRPC,可在 1.13.10 中使用

Spring【AOP模块】就是这么简单

Python 2.7 支持将于 2020 年 1 月 1 日终止

从零开始写简易读写分离,不难嘛!

点击“阅读原文”查看更多精彩内容

登录查看更多
0

相关内容

Vim 是从 vi 发展出来的一个文本编辑器。宏、跳转、代码补全、编译及错误跳转等方便纯文本编辑和编程的功能特别丰富,也支持使用不少的脚本语言进行功能定制和扩充,在程序员中被广泛使用。
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
56+阅读 · 2020年6月26日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
116+阅读 · 2020年5月10日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
224+阅读 · 2020年3月22日
【资源】100+本免费数据科学书
专知会员服务
107+阅读 · 2020年3月17日
【经典书】Python计算机视觉编程,中文版,363页pdf
专知会员服务
139+阅读 · 2020年2月16日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
179+阅读 · 2020年1月1日
“黑客”入门学习之“windows系统漏洞详解”
安全优佳
8+阅读 · 2019年4月17日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
数据科学、机器学习IDE概览
论智
9+阅读 · 2018年11月12日
跨框架深度学习可视化框架 VisualDL | 软件推介
开源中国
3+阅读 · 2018年4月26日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
Arxiv
3+阅读 · 2018年6月1日
Arxiv
6+阅读 · 2018年2月26日
Arxiv
151+阅读 · 2017年8月1日
VIP会员
相关VIP内容
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
56+阅读 · 2020年6月26日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
116+阅读 · 2020年5月10日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
224+阅读 · 2020年3月22日
【资源】100+本免费数据科学书
专知会员服务
107+阅读 · 2020年3月17日
【经典书】Python计算机视觉编程,中文版,363页pdf
专知会员服务
139+阅读 · 2020年2月16日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
179+阅读 · 2020年1月1日
相关资讯
“黑客”入门学习之“windows系统漏洞详解”
安全优佳
8+阅读 · 2019年4月17日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
数据科学、机器学习IDE概览
论智
9+阅读 · 2018年11月12日
跨框架深度学习可视化框架 VisualDL | 软件推介
开源中国
3+阅读 · 2018年4月26日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
Top
微信扫码咨询专知VIP会员