Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

real upstream can be found at https://github.com/garbas/vim-snipmate. This repo is kept in sync for VAM users

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 after
Octocat-spinner-32 autoload
Octocat-spinner-32 doc
Octocat-spinner-32 ftplugin
Octocat-spinner-32 plugin
Octocat-spinner-32 syntax
Octocat-spinner-32 .gitignore
Octocat-spinner-32 README.rst
Octocat-spinner-32 addon-info.json
README.rst

snipmate.vim

IMPORTANT: comment on: [What about merging whith Ultisnip using its engine](https://github.com/garbas/vim-snipmate/issues/114) status: snipmate-snippet files are read by Ultisnip flawlessly. See snipmate-snippets readme about how to configure and use Ultisnips as alternative That branch also supports completion menu now Thus there is only one reason left to keep using snipmate from my point of view: not having python support. In other words: upstream of snipmate is almost dead. (Better to say Marc Weber is not going to fix any bugs anymore)

Author: Michael Sanders
Maintainer: Rok Garbas & Marc Weber
Homepage: http://www.vim.org/scripts/script.php?script_id=2540
Contributors: MarcWeber, lilydjwg, henrik, steveno, asymmetric, jherdman, ironcamel, honza, jb55, robhudson, kozo2, MicahElliott, darkwise, redpill, thisgeek, sickill, pose, marutanm, r00k, jbernard, holizz, muffinresearch, statik, `taq`_, alderz, pielgrzym

Changelog

1.0 [Unreleased]

  • Split snippet files into separate git repository (github/honza/snipmate-snippets). [2011-06-20, honza] See 'Snippets repository' below.

  • Adding general snippets to css.snippets and htmldjango.snippets [2011-06-10, pielgrzym]

  • Adding css.snippets from tisho (https://github.com/tisho/css-snippets-snipmate) [2011-04-17, garbas]

  • Lots of updates to snippets.

  • Made the trigger key configurable, https://github.com/garbas/vim-snipmate/pull/4. [2011-04-13, thenoseman]

  • Handle single-line or multiline snippets. [2011-03-22, johnbintz]

  • If there is only one snippet choose it directly. [2011-03-16, blueyed]

  • Add snippets file for "diff" filetype and add bang to function definitons, allowing for reload. [2011-03-06, blueyed]

  • Update snipmate to handle latest supertab version. [2011-02-09, ervandew]

  • Updated README: added contributors, instructions how to install snipMate, some spellchecking of my wonderful English, added this Changelog [2011-02-07, garbas]

  • Fixed bug: When leaving a placeholder unchanged and trying to jump to the next placeholder, the text of the first placeholder would get cleared. [2011-06-16, jgosmann]

  • From below mentioned merges I must specially mention MarcWeber's patch which brought quite a few functionalities/improvements:

    System Message: ERROR/3 (<string>, line 68)

    Unexpected indentation.

    • snippets are loaded lazily and they are cached. Recaching takes place automatically when file's timestamp changes
    • When visually selecting a snippet in a .snippets file you can press <cr> to replace spaces by tabs automatically in a smart way.

    Big +1 to MarcWeber for this. Important to note is that we now depend on vim-addon-mw-utils and tlib. [2011-02-02, garbas]

  • Merged pull requests of MarcWeber, lilydjwg, henrik, steveno, asymmetric, jherdman, ironcamel, honza, jb55, robhudson, kozo2, MicahElliott, darkwise, redpill, thisgeek, sickill, pose, [2011-02-02, garbas]

0.83 [2009-07-13]

How to install

Unfortunately there are many ways to install vim plugins. If you don't see your preferred way of installation, please consider updating this section. Basically, installation consists of 2 simple steps:

  1. Install vim-snipmate
  2. Install snippets

snipmate dependencies

Important to note is that since version 1.0 we depend on 2 vim plugins:
  • vim-addon-mw-utils providing the implementation for caching parsed .snippets files.
  • tlib for tlib#input#List which provides the excellent filterable list selection view (and more).
  • the default set of snippets (optional but recommended). See 'Snippets repository' below.

Using VAM (recommended)

  • Add snipmate-snippets to the names to be installed. Or use "github:name/repo" if you want to use a non standard upstream.

The default snippets depend on "snipmate" so VAM will fetch the core along with its dependencies automatically.

Using pathogen

% cd ~/.vim
% mkdir bundle
% cd bundle
% git clone git://github.com/garbas/vim-snipmate.git

# Install dependencies:
% git clone https://github.com/tomtom/tlib_vim.git
% git clone https://github.com/MarcWeber/vim-addon-mw-utils.git
% git clone https://github.com/honza/snipmate-snippets.git

Using Vundle

Install dependencies:
Bundle "MarcWeber/vim-addon-mw-utils"
Bundle "tomtom/tlib_vim"
Bundle "honza/snipmate-snippets"

Install:
Bundle "garbas/vim-snipmate"

And :BundleInstall

Manually (not recommended!)

% git clone git://github.com/honza/snipmate-snippets.git
% git clone git://github.com/garbas/vim-snipmate.git
% cd snipmate.vim
% cp -R * ~/.vim

Then in vim:

:helptags ~/.vim/doc/

Then install any dependencies (see above).

Snippets repository

There is now one snippet repo containing almost all snippets. You are encouraged to submit any fixes and new snippets there.

https://github.com/honza/snipmate-snippets

We also encourage people to maintain sets of snippets for particular use cases so that all users can benefit from them. People can list their snippet repositories here:

Installation using VAM: "github:rbonvall/snipmate-snippets-bib"

Why forking snipMate?

After several unsuccessful attempts of contacting Michael Sanders, no commits in last half year and long pull request line on github (none of pull requests were commented/replied/rejected) I decided to take action, step up and bring some love to this widely used plugin.

But nothing to worry about. We all get busy, accupied with our daily work or just lose interest in doing boring maintainance.

While reviewing pull requests on github.com/msanders I found lots of great improvements and I decided to friendly fork it, review and apply patches that were sent, notify all the patch submitters and decided to maintain snipmate.vim from now on. Of course if somebody wants to help, please do not hesitate to write me, I am open to any suggestions.

Maybe I will only maintain it for a while until Michael Sanders takes things back into his hand or until some other super-hero shows up.

Tnx and happy snipmating, Rok Garbas & Marc Weber, 2011-02-02

related work

See doc/snipMate.txt

Known Bugs

TODO / Future

  • Notify all "forkers" about new home and ask them nicely to review already merged changes and possibly send their changes. [2011-02-07, garbas]

  • I'd like to investigate whether xptemplate or snipmate has the better engine. So maybe my vision of the future could be making xptemplate read snippet files. It is not important enough for me to work on it right now as snipmate works reasonable well for me. [2011-02-02, MarcWeber]

  • comment without verifying it: < Silex> MarcWeber: btw, check out ultisnips. Much better than snipmate imho

    And before this discussion xptemplate vs snipmate vs ultisnips .. continues we should create a wiki page comparing them and keep that up to date. If you volunteer tell me so that I can reference the link. [2011-02-02, MarcWeber]

  • tcomment claims to know which language mode you're editing in even if its JS in PHP or HTML within PHP. It would be great if that functionality could be moved into its own plugirn (vim-detect-language-at-cursor) or such. Then a lot of the scoped_aliases (which causes collisions easily) could be enhanced.

Docutils System Messages

System Message: ERROR/3 (<string>, line 17); backlink

Unknown target name: "taq".

System Message: ERROR/3 (<string>, line 218); backlink

Unknown target name: "bogdan".
Something went wrong with that request. Please try again.