/yasnippet

Official yasnippet repository

Primary LanguageEmacs Lisp

Intro

YASnippet is a template system for Emacs. It allows you to type an abbreviation and automatically expand it into function templates. Bundled language templates includes: C, C++, C#, Perl, Python, Ruby,

SQL, LaTeX, HTML, CSS and more. The snippet syntax is inspired from TextMate's syntax, you can even import most TextMate templates to YASnippet. Watch a demo on YouTube or download a higher resolution version

Install with yasnippet-bundle.el

To quickly tryout YASnippet, download the simpler "bundle" version. If you plan to modify the bundled templates and/or build your own, download the "normal" package.

  • Download yasnippet-bundle from the downloads section.

  • You'll get a file named yasnippet-bundle.el, put it in ~/.emacs.d/plugins/ (create that directory if not exists).

  • Open the file in Emacs, and type M-x eval-buffer RET.

That's it. Now open any file, you'll see a menu "YASnippet". You can pull down the menu to insert a template. Or, you can type a pre-defined abbrev and press TAB to expand it!

To have Emacs load YASnippet automatically when it starts, put the following in your ~/.emacs file:

(add-to-list 'load-path
             "~/.emacs.d/plugins")
(require 'yasnippet-bundle)

Install

To install the normal archive, download and unpack the latest yasnippet-x.y.z.tar.bz2. You'll get a directory named yasnippet-x.y.z, put it in some ~/.emacs.d/plugins dir and add the following in your .emacs file:

(add-to-list 'load-path
              "~/.emacs.d/plugins/yasnippet-x.y.z")
(require 'yasnippet) ;; not yasnippet-bundle
(yas/initialize)
(yas/load-directory "~/.emacs.d/plugins/yasnippet-x.y.z/snippets")

How-tos, Bugs, Contributions...

Please refer to the comprehensive [documentation] docs for full customization and support.

If you run into problems using YASnippet, or have snippets to contribute, post to the yasnippet google group. Thank you very much for using YASnippet!