emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Eric S Fraga <e.fraga@ucl.ac.uk>
To: suvayu ali <fatkasuvayu+linux@gmail.com>
Cc: Michael Hannon <jm_hannon@yahoo.com>,
	Org-Mode List <emacs-orgmode@gnu.org>
Subject: Re: Customizing "Easy Templates"?
Date: Thu, 07 Jul 2011 09:30:37 +0100	[thread overview]
Message-ID: <87fwmitrv6.fsf@ucl.ac.uk> (raw)
In-Reply-To: <CAMXnza2bN2Krd4_gWFs8DTgu_oqCNGiVTtr0S9nizUP5X3hZFA@mail.gmail.com> (suvayu ali's message of "Thu, 7 Jul 2011 07:13:55 +0200")

suvayu ali <fatkasuvayu+linux@gmail.com> writes:

> Hey Mike,
>
> On Thu, Jul 7, 2011 at 4:28 AM, Michael Hannon <jm_hannon@yahoo.com> wrote:
>> I can't figure out how to
>> customize the text of these templates.  Can anybody point me in the right
>> direction?
>>
>
> This should work:
>
> (add-to-list 'org-structure-template-alist
> 	     '("S" "#+BEGIN_SRC ?\n\n#+END_SRC" "<src lang=\"?\">\n\n</src>"))

Mike,

if you intend to customise further than this, you might wish to consider
using yasnippets [1] instead of these templates, although these
templates are indeed quite useful!  I use both but, for instance, for
source blocks, I have the following snippet defined:

--8<---------------cut here---------------start------------->8---
#name : #+begin_src language options ...#+end_src
# --
#+srcname: $1
#+begin_src $2 $3
$0
#+end_src
--8<---------------cut here---------------end--------------->8---

so that typing "src TAB" starts defining a source block with subsequent
TABs allowing me to fill in the name, the language, the arguments and
finally puts me into the actual code section.

The nice thing about yasnippets is that you can have defaults for any of
the fields.  For instance, here is one I use for Java files (not org):

--8<---------------cut here---------------start------------->8---
#contributor: dobbymoodge <j...@transloc-inc.com>
#name : public? class ... { ... }
# --
// Copyright (c) 2011, Eric S Fraga, All rights reserved.
package ${1:jacaranda.design};

import jacaranda.base.Settings;

${2:public} class ${3:foo} ${4:extends jacaranda.base.EGO}
{
  public static boolean debug = false;
  private static final int dl = 5;
  private static String version = "2011.03.02 20:04:40";
  static {
    Settings.output.printf (": <%s> $3\n", version);
  }
  ${5:public} $3 () {
    $0
  }
} // end of $3 class

// Local Variables:
// time-stamp-line-limit: 1000
// time-stamp-format: "%04y-%02m-%02d %02H:%02M:%02S"
// time-stamp-active: t
// time-stamp-start: "version = \""
// time-stamp-end: "\";"
// End:
--8<---------------cut here---------------end--------------->8---

for when I start a new class file.


Footnotes: 
[1]  http://www.emacswiki.org/emacs/Yasnippet

-- 
: Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.50.1
: using Org-mode version 7.5 (release_7.5.586.g382e6)

  reply	other threads:[~2011-07-07  8:30 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-07  2:28 Customizing "Easy Templates"? Michael Hannon
2011-07-07  5:13 ` suvayu ali
2011-07-07  8:30   ` Eric S Fraga [this message]
2011-07-07 15:33     ` Michael Hannon
2011-07-07 15:24   ` Michael Hannon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fwmitrv6.fsf@ucl.ac.uk \
    --to=e.fraga@ucl.ac.uk \
    --cc=emacs-orgmode@gnu.org \
    --cc=fatkasuvayu+linux@gmail.com \
    --cc=jm_hannon@yahoo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).