emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] Customizing "Easy Templates"?


From: Eric S Fraga
Subject: Re: [O] Customizing "Easy Templates"?
Date: Thu, 07 Jul 2011 09:30:37 +0100
User-agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.50 (gnu/linux)

suvayu ali <address@hidden> writes:

> Hey Mike,
>
> On Thu, Jul 7, 2011 at 4:28 AM, Michael Hannon <address@hidden> 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 <address@hidden>
#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 via email to

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