SpaceVim 發布 v0.7.0
03-23
三個月前,我們發布了 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
功能改進:
- 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 isnt 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
推薦閱讀: