2018-01-27 01:07:02 +08:00
|
|
|
|
---
|
2020-09-14 22:47:49 +08:00
|
|
|
|
title: "可用接口"
|
|
|
|
|
description: "SpaceVim 接口函数库提供了一套开发插件的公共接口,以及 Neovim 和 Vim 的兼容组件。"
|
2019-10-04 14:13:51 +08:00
|
|
|
|
lang: zh
|
2018-01-27 01:07:02 +08:00
|
|
|
|
---
|
|
|
|
|
|
2020-09-14 22:47:49 +08:00
|
|
|
|
# [主页](../) >> 可用接口
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-09-14 22:17:52 +08:00
|
|
|
|
<!-- vim-markdown-toc GFM -->
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-10-28 20:52:12 +08:00
|
|
|
|
- [简介](#简介)
|
|
|
|
|
- [使用方法](#使用方法)
|
2018-09-14 22:17:52 +08:00
|
|
|
|
- [可用 APIs](#可用-apis)
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-09-14 22:17:52 +08:00
|
|
|
|
<!-- vim-markdown-toc -->
|
2018-01-28 20:48:30 +08:00
|
|
|
|
|
2018-10-28 20:52:12 +08:00
|
|
|
|
## 简介
|
2018-09-14 22:17:52 +08:00
|
|
|
|
|
|
|
|
|
为了兼容不同版本的 Vim,避免使用重复的兼容函数,SpaceVim 提供了一套兼容的公共 API。开发插件时,
|
|
|
|
|
可以在你的插件中使用这些公共 API,这一思想主要借鉴于 [vital.vim](https://github.com/vim-jp/vital.vim)。
|
|
|
|
|
|
2018-10-28 20:52:12 +08:00
|
|
|
|
## 使用方法
|
2018-09-14 22:17:52 +08:00
|
|
|
|
|
|
|
|
|
可以通过 `SpaceVim#api#import()` 函数导入相关 API,参考以下示例:
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2019-01-16 23:34:39 +08:00
|
|
|
|
```vim
|
2018-09-14 22:17:52 +08:00
|
|
|
|
" 导入 file API,并赋值给变量 s:file
|
2018-01-27 01:07:02 +08:00
|
|
|
|
let s:file = SpaceVim#api#import('file')
|
2018-09-14 22:17:52 +08:00
|
|
|
|
" 导入 system API,并赋值给变量 s:system
|
2018-01-27 01:07:02 +08:00
|
|
|
|
let s:system = SpaceVim#api#import('system')
|
|
|
|
|
|
2018-09-14 22:17:52 +08:00
|
|
|
|
" 调用 system API 的 isWindows 成员变量
|
2018-01-27 01:07:02 +08:00
|
|
|
|
if s:system.isWindows
|
2019-01-16 23:34:39 +08:00
|
|
|
|
echom "OS is Windows"
|
2018-01-27 01:07:02 +08:00
|
|
|
|
endif
|
|
|
|
|
echom s:file.separator
|
|
|
|
|
echom s:file.pathSeparator
|
|
|
|
|
```
|
|
|
|
|
|
2019-01-05 15:55:57 +08:00
|
|
|
|
<!-- call SpaceVim#dev#api#updateCn() -->
|
|
|
|
|
|
2018-06-03 10:40:11 +08:00
|
|
|
|
<!-- SpaceVim api cn list start -->
|
|
|
|
|
|
2018-10-03 23:20:04 +08:00
|
|
|
|
## 可用 APIs
|
2018-06-03 10:40:11 +08:00
|
|
|
|
|
2019-01-28 17:50:20 +08:00
|
|
|
|
| 名称 | 描述 |
|
|
|
|
|
| ------------------------------------- | ----------------------------------------------------------------------- |
|
2021-08-06 21:07:50 +08:00
|
|
|
|
| [cmdlinemenu](cmdlinemenu/) | cmdlinemenu 接口函数提供了一套通过命令行进行选择的快捷接口。 |
|
|
|
|
|
| [data#dict](data/dict/) | data#dict 接口提供了一些处理字典变量的常用方法,包括基础的增删改查。 |
|
2020-08-22 13:30:47 +08:00
|
|
|
|
| [data#list](data/list/) | data#list 函数库主要提供一些操作列表的常用函数。 |
|
2020-09-12 23:09:38 +08:00
|
|
|
|
| [data#number](data/number/) | data#number 函数库主要提供一些操作数字的常用函数。 |
|
2019-01-28 17:50:20 +08:00
|
|
|
|
| [data#string](data/string/) | data#string 函数库主要提供一些操作字符串的常用函数。 |
|
|
|
|
|
| [file](file/) | 文件函数提供了基础的文件读写相关函数,兼容不同系统平台。 |
|
2021-08-06 21:07:50 +08:00
|
|
|
|
| [job](job/) | 兼容 neovim 和 vim 的异步协同接口,对于旧版 vim 采用非异步机制 |
|
|
|
|
|
| [notify](notify/) | notify 接口提供了一个弹出通知消息的接口函数 |
|
2019-01-28 17:50:20 +08:00
|
|
|
|
| [system](system/) | system 函数提供了系统相关函数,包括判断当前系统平台,文件格式等函数。 |
|
|
|
|
|
| [unicode#spinners](unicode/spinners/) | unicode#spinners API 可启用一个定时器,根据指定的名称定时更新进度条符号 |
|
2021-08-06 21:07:50 +08:00
|
|
|
|
| [vim#command](vim/command/) | vim#command 接口提供一些设置和获取 Vim 命令的基础函数。 |
|
2019-01-28 17:50:20 +08:00
|
|
|
|
| [vim#highlight](vim/highlight/) | vim#highlight API 提供一些设置和获取 Vim 高亮信息的基础函数。 |
|
2020-09-14 22:47:49 +08:00
|
|
|
|
| [vim#message](vim/message/) | vim#message API 提供一些设置和获取 Vim 提示消息的函数。 |
|
2020-08-22 13:30:47 +08:00
|
|
|
|
| [vim#signatures](vim/signatures/) | vim#signatures API 提供一些设置和获取 Vim 提示消息的函数。 |
|
2018-06-03 10:40:11 +08:00
|
|
|
|
|
2018-09-14 22:17:52 +08:00
|
|
|
|
<!-- SpaceVim api cn list end -->
|