Nov 30

Yasnippet

Tag: basicadmin @ 3:16 pm

Yasnippet es un sistema de plantillas (templates) para emacs. Dicho sistema permite escribir con abreviaturas y que éstas se expandan automáticamente en plantillas para las funciones. Los lenguajes soportados de momento son c, c++, c#, perl, python, ruby, SQL, LaTeX, HTML, CSS, etc… aunque siempre puedes importar tus propios templates.

Para descargar yasnippet se puede realizar en su página oficial y la documentación es accesible desde aquí. Para instalar yanippet tan sólo se debe descargar, desempaquetar el .tgz y mover el fichero llamado yasnippet-bundle.el en ~/.emacs.d/plugins (o bien en cualquier directorio desde donde queramos cargarlo, siempre indicándolo en nuestro .emacs claro):

(add-to-list ‘load-path “~/.emacs.d/plugins”)
(require ‘yasnippet-bundle)
(yas/initialize)
(yas/load-directory “~/.emacs.d/plugins/yasnippet-version/snippets”)

Por si a alguien no le ha quedado aún claro, podéis ver una demo de como realizar la instalación:

Una vez hecho esto, lanzamos nuestro flamante emacs y probamos a escribir palabras reservadas como #include o bien cualquier función de la libc o cualquier parte de la demostración del video observada más arriba. Para comenzar a usarlo, tan sólo debemos usar la tecla TAB (tabulador).

Aunque yasnippet, como lo es emacs, es muy extensible, configurable  y organizable. Veamos como se puede usar toda la potencia de yasnippet.

Para la carga de snippets (ver la web oficial de yasnippet la sección “Snippet Organization”):

Podemos crear un directorio especialmente para nuestros propios snippets, en nuestro .emacs:

;; Keep personal snippets under ~/.emacs.d/mysnippets
(setq yas/root-directory “~/.emacs.d/mysnippets”)

;; Load the snippets
(yas/load-directory yas/root-directory)

Podemos conseguir un efecto árbol según los snippets que tengamos usando yas-parents, yas-make-groups, etc… (leer la documentacion oficial para mas informacion), aqui dejo los enlaces de dicha documentacion:

Organizacion de snippets

http://yasnippet.googlecode.com/svn/trunk/doc/snippet-organization.html

Expansión de triggers

http://yasnippet.googlecode.com/svn/trunk/doc/snippet-expansion.html

Desarrollo de snippets

http://yasnippet.googlecode.com/svn/trunk/doc/snippet-development.html

2 Responses to “Yasnippet”

  1. alitaliait » sdk 4.1 arte hacking elicottero rassegna stampa hackmeeting penna usb alcatel su ubuntu rinnovo iphone dev rfd says:
  2. alitaliait » xcode4 sdk shell b. prova says:

Leave a Reply

You must be logged in to post a comment.