emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] A short introduction to YASnippet (was: [Bug] Yasnippet/Org: propert


From: Karl Voit
Subject: [O] A short introduction to YASnippet (was: [Bug] Yasnippet/Org: properties messed up when expanding $1)
Date: Mon, 11 Feb 2013 17:31:42 +0100
User-agent: slrn/0.9.9 (Linux)

* Bastien <address@hidden> wrote:
> Hi Karl,

Hi!

> I've installed Yasnippet (from GNU ELPA) but I think I need more
> help on how to test it... expanding with TAB in text-mode and in
> yas-minor-mode doesn't produce anything useful.  

Does it produce something at all?

> Can you make a recipe for yas-n00bs?

Sure.

If yasnippet is installed and loaded, you should get an additional
menu entry called «YASnippet». You find out, where your snippet
folder is located. Mine is «~/.emacs.d/snippets». yasnippet is
pretty straight forward: every text file within the snippet folder
is a defined snippet. If not stated otherwise in the header of the
file, the name of the snippet file is the command which is used to
expand.

You can define snippets that are only available in certain modes:
snippets within «$SNIPPETDIR/text-mode/org-mode» are only available
in Org-mode. Following snippet is only available in Org-mode and is
expanded by entering «test» followed by TAB:

,----[ Snippet «~/.emacs.d/snippets/text-mode/org-mode/test» ]
| # name : Testing yasnippet/org issue
| # --
|
| ** Test ${1:test}
| :PROPERTIES:
| :ID: $1
| :END:
`----

AFAIR the header is optional. Within the header, you can define
additional description, alternative name, author, and so forth.

If you add new snippets, you can choose «YASnippet/Reload
everything» from the Emacs menu. I guess this is «yas/reload-all».

Within a snippet, the first «$1» results in putting the cursor at
this point and «asking» the user to enter a string. You can define a
default string with «${1:test}» where «test» is the default string
for «$1».

All other occurrences of «$1» will be replaced by the very same user
string which is quite handy: you have to enter it only once and it
gets replaced multiple times.

The snippet above with «$1» as «foo bar» should result in:

,----[ expanded snippet «test» with «foo bar» ]
| ** Test foo bar
| :PROPERTIES:
| :ID: foo bar
| :END:
`----

For further documentation, please refer to [1].

At my side, any «$x» within the PROPERTIES drawer messes up the
line.


YASnippets are very easy to set up, very handy to use. IMHO,
everybody should use something like yasnippet in his/her daily
workflow.

  1. http://capitaomorte.github.com/yasnippet/#how-to-use-yasnippet
-- 
Karl Voit




reply via email to

[Prev in Thread] Current Thread [Next in Thread]