UltiSnips is a mature template library for Vim. Thus you can write code snippets once then refer to them by short words and make Vim expand them.
This is a fork of parent UltiSnips providing some additional features eg known from SnipMate
- ability to read snipmate snippet files on the fly
- snipmate like snippet completion
- reloading snippets if snippet files timestamp changes
- can read both: UltiSnip and snipmate snippet files on the fly
See notes at "WHY forking" below.
- slightly adopted original documentation
- rewritten documentation focusing on the most important aspects to get started quickly
- code comments, should always be up to date
github.com/honza/snipmate-snippets -> UltiSnips directory (merge is in progress) See installation
This work is based on the original repository parent UltiSnips.
What about feeding upstream? The author knows about the fork. Its me not having time to update the test suite - maybe I will never have. My goal is to provide value to me and the community using the time I have and merge UltiSnips and snipmate communities to maximize value for all parties.
A snippet engine always has two aspects: a) the engine b) the snippets
I know about XpTemplate, but it would have been too different. What about fixing snipmate? Would have been too much work.
Also see some notes in snipmate-merge-todo.
Also see discussion about merge
Comparison to other snipmate engines
- See WHY forking above.
- snipmate: (was abondoned by original author, Marc Weber and Rock Garbas kept
- maintaining it for a while) Current upstream is at github.com/garbas/vim-snipmate
- XpTemplate: full blown VimL only engine - but too different to convert snipmate
- snippets to that format. It has some nice features, eg it can abstract over different coding styles (spaces)
- https://github.com/Shougo/neosnippet/ I never used it. Its sead to be ablte to read snipmate snippets, too.
There are some more snippet engines - but from my point of view they are not worth menthioning because they have significant less features (if you think differently let me know)
The blog posts of the screencasts contain more advanced examples of the things discussed in the video.