ultisnips

UltiSnips - The ultimate snippet solution for Vim. Send pull requests to SirVer/ultisnips!

Github星跟蹤圖

Build Status
Gitter

UltiSnips

UltiSnips is the ultimate solution for snippets in Vim. It has many features,
speed being one of them.

GIF Demo

In this demo I am editing a python file. I first expand the #! snippet, then
the class snippet. The completion menu comes from
YouCompleteMe, UltiSnips also
integrates with deoplete. I can
jump through placeholders and add text while the snippet inserts text in other
places automatically: when I add Animal as a base class, __init__ gets
updated to call the base class constructor. When I add arguments to the
constructor, they automatically get assigned to instance variables. I then
insert my personal snippet for print debugging. Note that I left insert mode,
inserted another snippet and went back to add an additional argument to
__init__ and the class snippet was still active and added another instance
variable.

The official home of UltiSnips is at https://github.com/sirver/ultisnips.
Please add pull requests and issues there.

UltiSnips was started in Jun 2009 by @SirVer. In Dec 2015, maintenance was
handed over to @seletskiy who ran out of time
in early 2017. Since Jun 2019, @SirVer is maintaining UltiSnips again on a
very constraint time budget. If you can help triaging issues it would be
greatly appreciated.

Quick Start

This assumes you are using Vundle. Adapt
for your plugin manager of choice. Put this into your .vimrc.

" Track the engine.
Plugin 'SirVer/ultisnips'

" Snippets are separated from the engine. Add this if you want them:
Plugin 'honza/vim-snippets'

" Trigger configuration. Do not use <tab> if you use https://github.com/Valloric/YouCompleteMe.
let g:UltiSnipsExpandTrigger="<tab>"
let g:UltiSnipsJumpForwardTrigger="<c-b>"
let g:UltiSnipsJumpBackwardTrigger="<c-z>"

" If you want :UltiSnipsEdit to split your window.
let g:UltiSnipsEditSplit="vertical"

UltiSnips comes with comprehensive
documentation.
As there are more options and tons of features I suggest you at least skim it.

There are example uses for some power user features here:

Screencasts

From a gentle introduction to really advanced in a few minutes: The blog posts
of the screencasts contain more advanced examples of the things discussed in the
videos.

Also the excellent Vimcasts dedicated three episodes to
UltiSnips:

主要指標

概覽
名稱與所有者SirVer/ultisnips
主編程語言Python
編程語言Python (語言數: 6)
平台
許可證GNU General Public License v3.0
所有者活动
創建於2011-12-30 07:07:24
推送於2025-06-05 16:08:19
最后一次提交2025-06-05 18:08:18
發布數11
最新版本名稱3.2 (發布於 2019-11-05 09:52:38)
第一版名稱1.2 (發布於 )
用户参与
星數7.6k
關注者數86
派生數686
提交數1.6k
已啟用問題?
問題數1166
打開的問題數118
拉請求數298
打開的拉請求數0
關閉的拉請求數113
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?