快速、类型安全,且拥有 Swift 强大功能的 Vim 插件!
SwiftForVim 将 Swift 编程语言集成到 Vim 中。
Vimscript <-> Swift
从 Swift 调用 Vim 命令
Vim.command("echo 'Hello World!'")
从 Swift 评估 Vim 表达式
let path = String(Vim.eval("expand('%:p')"))
从 Vim 调用 Swift 函数
VimPlugin.setCallable("cursorMoved") {
_ in
print("The cursor moved")
}
// Off in VimScript
call s:SwiftVimEval("MyAwesomePlugin.invoke('cursorMoved')")
Vim 的线程和异步支持
DispatchQueue.async {
// Do some work
VimTask.onMain {
Vim.command("echo 'Hello World! on the main thread.'")
}
}
注意:VimAsync 依赖于 Foundation 框架。对于基本的、单线程插件来说,它不是必需的。
首先,生成一个 Vim 插件设置以使用 Swift。
git clone https://github.com/swift-vim/SwiftForVim.git
cd SwiftForVim
plugin_path=/path/to/MyAwesomePlugin make generate
然后,构建插件。
cd /path/to/MyAwesomePlugin
make
最后,设置插件(VimPlug、Pathogen 等)。
便携、快速且易于使用。
它不需要重新编译 Vim 或 Swift 语言的自定义分支。
Swift 使构建快速、类型安全、易于调试和部署的程序变得容易。
源代码树包含一个非常基础的示例和测试用例。
SwiftPackageManger.vim 是典型的用例,并使用 VimAsync 在 vim 内部运行自定义 RPC 服务。