Yet another snippet extension
- -Table of Contents
- -Quick start
-- 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 snippets -
-- YASnippet is an original creation of pluskid who also wrote its predecessor - smart-snippet. -
- -Watch a demo
-- On youtube. -
-Installation
-- Clone this repository somewhere -
- - - -$ cd ~/.emacs.d/plugins -$ git clone https://github.com/capitaomorte/yasnippet -- - -
- Add the following in your .emacs
file:
-
(add-to-list 'load-path - "~/.emacs.d/plugins/yasnippet") -(require 'yasnippet) -(yas-global-mode 1) -- - -
- Add your own snippets to ~/.emacs.d/snippets
by placing files there or
- invoking yas-new-snippet
.
-
Import textmate snippets (rails example)
-- YASnippet lets you use TextMate bundles directly: -
- - - -$ cd ~/.emacs.d/plugins -$ git clone https://github.com/capitaomorte/yasnippet -$ cd yasnippet -$ git submodule init -$ git submodule update -$ gem install plist trollop -$ rake convert_bundles # will convert ruby, rails and html bundles from drnic -- - -
- Then, in your .emacs
file
-
(add-to-list 'load-path - "~/.emacs.d/plugins/yasnippet") -(require 'yasnippet) -(setq yas-snippet-dirs '("~/.emacs.d/snippets" "~/.emacs.d/extras/imported")) -(yas-global-mode 1) -- - -
- Open some rails file (model, app, etc) and start using the textmate - snippets. Consider that this is a work-in-progress and many snippets/commands - might not work. Patches welcome! -
-Contributing snippets
-
- Please do not ask me to add snippets to the default collection under
- /snippets
. This collection is considered frozen. By customizing
- yas-snippet-dirs
you can point yasnippet to good
- snippet collections out there.
-
- The extras/textmate-import.rb
tool can import many actual Textmate
- snippets. I'm focusing on developing it and the accompanying yas-setup.el
- files that guide it with more difficult importations. The idea is to deprecate
- /snippets
and replace it with extras/imported
.
-
Documentation
-- The documentation has been split into separate parts: +
The YASnippet documentation has been split into separate parts:
-
-
- Organizing Snippets - Describes ways to organize your snippets in the hard disk. - - -
- Expanding Snippets - Describes how YASnippet chooses snippets for expansion at point. +
- README
- Maybe, you'll want some snippets to be expanded in a particular mode, - or only under certain conditions, or be prompted using
+ido
, etc… + Contains an introduction, installation instructions and other important + notes. +
+ - Organizing Snippets
+
+
+ Describes ways to organize your snippets in the hard disk. +
+
+ - Expanding Snippets
+
+
+ Describes how YASnippet chooses snippets for expansion at point. +
++ Maybe, you'll want some snippets to be expanded in a particular mode, + or only under certain conditions, or be prompted using
ido
, etc… - Writing Snippets
- Describes the YASnippet definition syntax, which is very close (but
- not equivalent) to Textmate's. Includes a section about converting
- TextMate snippets.
+
+ Describes the YASnippet definition syntax, which is very close (but + not equivalent) to Textmate's. Includes a section about converting + TextMate snippets. +
- The YASnippet menu
- Explains how to use the YASnippet menu to explore, learn and modify
- snippets.
+
+ Explains how to use the YASnippet menu to explore, learn and modify + snippets. +
+
+ - Frequently asked questions
+
+
+ Answers to frequently asked questions. +
- YASnippet Symbol Reference - An automatically generated listing of all YASnippet commands, - (customization) variables, and functions. - + +
+ An automatically generated listing of all YASnippet commands, + (customization) variables, and functions. +
Bugs, discussion, contributions, etc
-- If you think you've found a bug, please report it on the GitHub issue tracker - (please **do not** submit new issues to the old googlecode tracker). -
-- If you run into problems using YASnippet, or have snippets to contribute, - post to the yasnippet forum. Thank you very much for using YASnippet! -
-