Repolode
SirVer

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. 1

    在 .vimrc 中添加 UltiSnips 插件行(README 以 Vundle 为例)

  2. 2

    可选:添加 honza/vim-snippets 插件以获取现成的代码片段

  3. 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 数据每日更新。

相关项目