为 Vim 和 Neovim 提供 AI 能力的插件,可在编辑器内生成代码、编辑文本并与模型对话。
SirVer/ultisnips
Vim 和 Neovim 的代码片段引擎,可将触发词展开为带占位符和 Python 脚本逻辑的模板。
- Star
- 7,697
- Fork
- 675
- 未关闭 Issue
- 0
- 最近提交
- 2个月前
这是什么?
UltiSnips 是 Vim 和 Neovim 的代码片段引擎。输入一个简短的触发词并按下按键,即可展开为较长的文本块,例如类的骨架代码或调试输出语句。片段中可以定义多个跳转点,并让占位符的值随其他占位符自动更新。
片段使用专门的片段文件格式编写,还可以嵌入在展开时运行的 Python 代码,动态生成文本。引擎本身与片段集合分开发布,可以搭配现成的片段库使用,也可以自己编写。它支持与 YouCompleteMe、deoplete 等补全插件集成,触发按键可通过 Vim 变量进行配置。
核心功能
- 01在 Vim 和 Neovim 中将触发词展开为多行代码片段。
- 02支持多个跳转点,以及同步更新的关联占位符。
- 03片段可在展开时执行嵌入的 Python 代码。
- 04可与 YouCompleteMe、deoplete 等补全插件集成。
- 05展开和跳转按键可自行配置。
适用场景
- 在 Vim 中编写代码时快速插入类、函数或文件头等样板代码。
- 为常用代码模式建立个人片段库。
- 利用片段中的 Python 逻辑,根据前面的输入生成相应代码。
快速上手
- 1
在 .vimrc 中添加 UltiSnips 插件行(README 以 Vundle 为例)
- 2
可选:添加 honza/vim-snippets 插件以获取现成的代码片段
- 3
在 .vimrc 中设置展开和跳转触发键;若使用 YouCompleteMe 或 completion-nvim,请将 <tab> 改为其他键
使用前须知
- 采用 GPL-3.0 许可证,这是一种 copyleft 许可证,衍生作品须以相同条款开源。
- 仅能在 Vim 和 Neovim 中运行,不是独立工具。
标签
常见问题
- ultisnips 是什么?
- Vim 和 Neovim 的代码片段引擎,可将触发词展开为带占位符和 Python 脚本逻辑的模板。 UltiSnips 是 Vim 和 Neovim 的代码片段引擎。输入一个简短的触发词并按下按键,即可展开为较长的文本块,例如类的骨架代码或调试输出语句。片段中可以定义多个跳转点,并让占位符的值随其他占位符自动更新。
- ultisnips 可以免费使用吗?用的什么许可证?
- ultisnips 以 GPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
- ultisnips 还在维护吗?
- 半年内有更新。ultisnips 最近一次提交是在 2026年9月6日。
- ultisnips 适合用来做什么?
- 在 Vim 中编写代码时快速插入类、函数或文件头等样板代码。 为常用代码模式建立个人片段库。 利用片段中的 Python 逻辑,根据前面的输入生成相应代码。
- ultisnips 怎么安装和运行?
- 在 .vimrc 中添加 UltiSnips 插件行(README 以 Vundle 为例) 可选:添加 honza/vim-snippets 插件以获取现成的代码片段 在 .vimrc 中设置展开和跳转触发键;若使用 YouCompleteMe 或 completion-nvim,请将 <tab> 改为其他键
- 在哪里获取 ultisnips?
- 源代码和安装说明在 GitHub 上:https://github.com/SirVer/ultisnips
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
Neovim 是基于 Vim 重构的文本编辑器,强调可扩展性,提供 Lua 与 RPC API 供插件和外部界面调用。
用 Swift 编写的 macOS 原生 Neovim 图形界面,内嵌 Neovim 编辑器并提供文件快速打开、工作区等功能。
为 Neovim 内置 LSP 客户端提供的一组开箱即用的语言服务器配置。
纯 Lua 编写的 Neovim 插件,替代 copilot.vim,提供 GitHub Copilot 行内补全、建议面板和集成 API。
一个 VS Code 扩展,内嵌真实的 Neovim 实例,在 VS Code 中提供完整的 Vim 键位与模式。