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
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)
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")
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!