TextMate-style snippets for Vim
Vim script
Latest commit 018e0dd Jul 13, 2009 Michael Sanders committed with Version 0.83
Fixed bug when leaving snippet for another buffer, having a variable at the end of a line in a snippet, or typing certain characters in select mode, and (finally) added support for <shift-tab> to go back a tab stop. Also added snippets for zsh (thanks israelchauca) and mako (thanks "iElectric"), and updated C, Obj-C, and C++ snippets.
Failed to load latest commit information.
after/plugin Version 0.83 Nov 16, 2010
autoload Version 0.83 Nov 16, 2010
doc Version 0.83 Nov 16, 2010
ftplugin Version 0.79 Nov 16, 2010
plugin Version 0.83 Nov 16, 2010
snippets Version 0.83 Nov 16, 2010
syntax Version 0.83 Nov 16, 2010
README Version 0.42: Initial upload Nov 16, 2010


This is a mirror of http://www.vim.org/scripts/script.php?script_id=2540

snipMate.vim aims to be an unobtrusive, concise vim script that implements some of TextMate's snippets features in Vim. A snippet is a piece of often-typed text that you can insert into your document using a trigger word followed by a <tab>.

For instance, in a C file using the default installation of snipMate.vim, if you type "for<tab>" in insert mode, it will expand a typical for loop in C:

 for (i = 0; i < count; i++) {


To go to the next item in the loop, simply <tab> over to it; if there is repeated code, such as the "i" variable in this example, you can simply start typing once it's highlighted and all the matches specified in the snippet will be updated.

Requires Vim 7 or higher.
For a quick introduction, see this screencast: http://vimeo.com/3535418
For more help see the documentation that comes with snipMate in ~/.vim/doc/snipMate.txt.

snipMate.vim has the following features among others:
  - The syntax of snippets is very similar to TextMate's, allowing easy conversion.
  - The position of the snippet is kept transparently (i.e., it does not use marks/placeholders inserted into the buffer), allowing you to escape out of an incomplete snippet, something particularly useful in Vim.
  - Variables in snippets are updated as-you-type.
  - Snippets can have multiple matches.
  - Snippets can be out of order. For instance, in a do...while loop, the condition can be added before the code.

Bug reports, feature requests, etc. are welcome and can be emailed to me or submitted on the issue tracker: http://code.google.com/p/snipmate/issues/list

If you would like to watch the development of this plugin, you can also follow it on github: http://github.com/msanders/snipmate.vim