The vim snipmate plugin makes vim behave a bit like textmate.

Textmate is well known for its nice features, the most prominent being its snippets (or whatever they're called in Textmate...).

snipmate is a great plugin for vim that allows you to define snippets of your own and insert them into vim by simply typing their acronym and pressing `Tab`. Very handy.

Archlinux has an AUR package for snipmate, so installation is trivial. After that, snippets lie somewhere in `/usr/share/vim`, but I don't want any of the predefined ones anyways, so I changed the path to my local `~/.vim/snippets` directory by adding the following to my `.vimrc`:

``````" set snippets dir to local path
let g:snippets_dir = "~/.vim/snippets"
``````

After that, you can define snippets per filetype. So for TeX files create a `tex.snippets` file in that folder and fill in your snippets. Look in the original snippets folder for guidance on how to do it -- it's straight forward.

I mainly use it when editing LaTeX files, e.g. for citations. So typing

``````cite<Tab>
``````

will produce:

``````\cite[S.~]{<Cursor>}
``````

pressing `Tab` again gives:

``````\cite[S.~<Cursor>]{}
``````

You get the point ;-)