Go to file
Holger Rapp 411d0118ef Use a GitHub access token to avoid rate limiting of API. (#961)
This will not help pull requests, as they are considered untrusted by Travis. But at least master builds and pull requests from branches in this repo should not hit rate limiting now.
2018-04-09 12:51:34 +02:00
.github Tweaking GitHub issue template. 2018-04-05 22:44:45 +02:00
after/plugin Remove bootstrap.vim. Simplify startup. 2015-07-11 16:17:50 +02:00
autoload Add support for editing snippets in a new tab (#917) 2018-04-01 08:49:15 +02:00
ctags Support TagBar for snippets files 2014-07-05 19:36:38 -07:00
doc Mention deoplete as supported. 2018-04-08 21:47:13 +02:00
docker Rename scripts -> docker. Make repro more useful. 2018-04-05 21:52:33 +02:00
ftdetect Improve/simplify filetype handling for buffers (#745) 2016-09-07 19:51:16 +07:00
ftplugin Tweak the ftplugin 2014-08-26 01:03:15 -07:00
plugin autotrigger: make snippets expand without <tab> 2015-10-09 16:00:24 +06:00
pythonx/UltiSnips Fix character selection when using VISUAL on all platforms (#926) 2018-04-01 08:45:17 +02:00
rplugin/python3/deoplete/sources Mark source as volatile (#844) 2018-03-30 20:37:02 +02:00
syntax syntax fix for subdirs 2016-09-07 11:17:52 +03:00
test Eur symbol is translated in EUR instead of EU. 2018-04-01 21:22:37 +02:00
utils Applied pyformat on entire codebase. 2015-01-20 21:26:03 +01:00
.bzrignore Ignore .bzr-repo 2010-03-05 14:31:40 +01:00
.gitignore ignore .ropeproject 2016-03-28 12:21:07 +06:00
.travis.yml Use a GitHub access token to avoid rate limiting of API. (#961) 2018-04-09 12:51:34 +02:00
ChangeLog Updated release date for 3.1. 2018-03-30 20:44:51 +02:00
CONTRIBUTING.md Adds a CONTRIBUTING.md file. 2018-04-05 22:07:31 +02:00
COPYING.txt Added a license file. 2013-10-29 07:22:06 +01:00
Dockerfile Use a GitHub access token to avoid rate limiting of API. (#961) 2018-04-09 12:51:34 +02:00
Dockerfile.repro Rename scripts -> docker. Make repro more useful. 2018-04-05 21:52:33 +02:00
Makefile Adds a CONTRIBUTING.md file. 2018-04-05 22:07:31 +02:00
pylintrc Less verbose pylint errors. 2015-01-22 08:00:43 +01:00
README.md Mention deoplete as supported. 2018-04-08 21:47:13 +02:00
test_all.py Adds a CONTRIBUTING.md file. 2018-04-05 22:07:31 +02:00

Build Status Stories in Ready Gitter

UltiSnips

UltiSnips is the ultimate solution for snippets in Vim. It has tons of features and is very fast.

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.

What can you do with UltiSnips?

  1. Advanced snippets:

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.

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: