三个月前, 我们发布了 v0.6.0 这个版本, 随着 v0.7.0 的发布, 让我们看看到底发生了哪些变化?
兼容性改变:
加入 clever-f 这个插件, 并且默认启用, 恢复了 fF 等按键功能原先的 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
功能改进:
- Add icon to welcome page(startify) #1389
- Add help description for windows key bindings. #1244
- Add help description for unite key bindings #1248
- Add help description for other key bindings #1241
- Add prompt for quit buffer. #1359
- Add visual selection support #1291
- Add lsp support for dart #1222
- Add a new plugin into javascript layer #1270
- Add preview func #1425
- Add vim-pydocstring #1299
- Add option for config filetype icon #1289
- Add SpaceVim theme #1255
- Add version api #1215
- Add new interesting banners #1208
- Change into more frequented used shortcuts #1230
- Update icons #1240
- Improve if_python check in SpaceVim #1236
- HOTFIX: Fix ambiguous description in killing buffer #1226
- Improve checker layer #1223
- Update version api #1219
- Improve flygrep #1426
- Disable cursor error info #1424
- Improve Ocaml layer #1387
- Improve github layer #1377
- Improve ocmal/c/unite/denite/ctrlp layer #1369
- Revert "Fix language client config" #1282
- Option to use local eslint #1257
- Use compatible api for execute() #1353
- Update Core #1457
- Improve core config #1455
- Remove default layer #1454
- Default layers #1452
- Better default #1438
- Improve lint status in statusline #1416
- Improve javascript layer #1415
- update file head #1407
- Supporting eex in the elixir layer #1404
- Map [SPC]is to Unite ultisnips while using Ultisnips engine #1399
- doc fix #1356
- Use nested autocmd for quite vimfiler #1342
- Replace mode for flygrep #1340
- Improve cmd #1339
- Update install script for chinese users #1338
- wget isn't installed on all systems by default (like mine). Use curl #1335
- Filter #1325
- tools:add VimCalc plugin #1316
- Hotfix in windows 7 #1315
- Improve searching tools #1314
- Reformart as in install.cmd #1310
- Colors #1308
- Plugin manager #1307
- Improve install.cmd #1297
- New Plugin UI #1294
- close terminal buffer just like a regular buffer #1429
Bug 修复:
- Fix #1505 #1509
- Fix 1485 #1508
- Fix #1489 #1506
- Fix typo in install script #1497
- Fix Gabirel/Hack-SpaceVim#36 #1485
- Fix statusline issue #1466
- Fix buffer API #1451
- Fix indentline #1447
- fix layers html table #1443
- fix several spelling errors #1442
- Fix github layer #1420
- Fix c layer #1413
- fix close current buffer prompt #1401
- Fix runner for python #1396
- fix zz mapping does not respect scrolloff value. #1391
- fix deoplete python complete #1388
- Fix typos in lang#c layer #1375
- Fix fly grep #1373
- Fix deoplete support #1371
- Fix ruby format #1368
- Fix checkers layer #1364
- Fix a Neomake issue #1352
- Fix windows id #1347
- Fix statusline for vimcalc #1324
- Fix warning message #1321
- Fix a typo #1318
- Fix main.CSS #1313
- Fix an issue of Vimfiler #1303
- Fix edit url in website #1300
- Fix website 404 #1293
- Fix #1266 #1292
- Fix project manager #1288
- Fix Iedit mode cursor #1284
- Fix #1277 #1279
- Fix language client config #1265
- Fix neovim crashs #1264
- Fix info icon #1253
- Fix libclang path #1246
- Fix markdown layer #1235
- Fix #1143 #1224
- Fix 'defined' typos in plugin help #1217
文档及 wiki 更新:
- Relicense #1406
- Add cn wiki for gitee #1343
- Update chinese quick guide #1337
- Add key bindings development doc #1221
- Add CODEOWNERS #1302
- Add html layer doc #1295
- Add faq for update plugins #1428
- Add OCaml layer documentation #1386
- Add job api document #1344
- Add disqus #1329
- Add github/page check #1304
- Add reddit Sidebar #1273
- Edit because jshell was introduced with java9. #1481
- Website improvement #1312
- Update development workflow #1311
- Update translator #1351
- Update readme #1350
- Update cn/development.md #1349
- Update Chinese doc #1348
- Update READMEzhcn.md #1262
- Update doc #1256
- Update doc for vim-diff #1254
- Update doc for vim_diff #1274
- Update website (2) #1272
- Update website #1271
- Update website #1305
- Update chinese document #1331
- Improve javascript #1421
- Improve json layer #1419
- Update achievements #1323
- Update development rules #1298
- Update features #1363
- translate documentation.md #1361
- Update quick start guide #1417
- Activating Open Collective #1474
- Banner #1440
- Update sponsors #1432
- Use Multiple issue and pull request templates #1431
- Update readme #1423
- Automatically generate Wiki from ci #1309
- Improve readme #1463
- Update Readme #1459
博客更新:
- Add cn blog: grep on the fly #1355
- Add newsletter #1228
- Add newsletter #2 #1216
来源: https://zhuanlan.zhihu.com/p/34271690