Curso emacs 14 (Plantillas con skeleton)

Con emacs también podemos confeccionar nuestras plantillas usando skeleton. Para hacer pruebas y no ensuciar nuestro archivo de configuración .emacs, vamos a usar ielm. También podríamos usar el buffer scratch pero éste ya lo hemos visto y así incorporamos nuevos recursos. Ielm vendría a ser como una shell para evaluar expresiones elisp.

M-x ielm

14-1_ielm0

Una forma muy básica de probarla, casi equivalente al “Hola mundo”, es copy/pasteando en el prompt que acabamos de abrir las siguientes líneas:

(define-skeleton saludo-skeleton
“Saluda a quien entremos”
“Pon tu nombre: “
“Hola, ” str “!”)

Pulsando “Intro” muestra el nombre que le hemos dado (saludo-skeleton) y a continuación el prompt. Pulsamos (Recuerda a usar TAB para completar la expresión):

M-x saludo-skeleton

Mostrará “Hola,” en el prompt y en el minibuffer esperará a que entremos el nombre para completar la expresión.

14-2_ielm1

Una plantilla un poco (?) más útil podría ser:

(define-skeleton cabecera-skeleton
“Una cabecera para un proyecto”
“”(setq v1 (skeleton-read “Comment symbol? “))
\n \n
v1″ ===============================”\n
v1″ Proyecto: ” (skeleton-read “Proyecto: “) \n
v1″ Año de entrega: ” (skeleton-read “Año: “) \n
v1″ Datos extras: ” (skeleton-read “Datos: “) \n
v1″ Fecha: ” (current-time-string) \n
v1″ Autor: Templix” \n
v1″ ===============================” \n
\n \n )

La Copy/pasteamos en el prompt de ielm, pulsamos “intro” y lanzamos:

M-x cabecera-skeleton

Entramos los datos que nos va solicitando en el minibuffer (El “comment symbol” es el signo al principio de la linea [>]).

14-3_ielm2

Como pequeña muestra de cómo se confeccionan plantillas con skeleton es suficiente. Si quisiéramos incorporar alguna de estas plantillas al archivo de configuración de emacs la tendríamos siempre a nuestra disposición y si la usamos muy a menudo podríamos darle un atajo:

(global-set-key (kbd “C-c t”) ‘cabecera-skeleton)

Antes de cerrar este pedazo, y para ahorrarnos el tener que estar especificando el directorio donde se encuentra cada extensión al estilo:

(add-to-list ‘load-path “~/.emacs.d/…

Podemos añadir al inicio (!!) de nuestro archivo de configuración las lineas:

;;; Especificar directorio y subdirectorios de extensiones:
(let ((default-directory “~/.emacs.d/”))
(normal-top-level-add-subdirs-to-load-path))

No tendría que ocurrir, pero si al iniciar emacs muestra una linea de “archivo no encontrado” (File error: Cannot open load file…) lo más probable es que no se hayan colocado al inicio del archivo. Si antes de estas lineas existe alguna extensión que ha de leer de este directorio del tipo:

(load “pandoc-mode”) o (require ‘quickrun)

Dará error:

14-4_error

Tambien podemos verificar si el valor de “load-path” incluye determinado directorio con:

C-h v load-path RET

En caso negativo lo tendremos que incluir y consultar el path de alguna librería con:

M-x locate-library RET emms

En el próximo pedazo crearemos una plantilla con skeleton para la joya de los procesadores de texto: latex

Entregas anteriores:

Curso de emacs 13 http://www.lapipaplena.org/curso-emacs-13-htmls-y-pdfs-con-markdown-y-pandoc/
Curso de emacs 12 http://www.lapipaplena.org/curso-emacs-12-algunas-cosas-sobre-tablas/
Curso de emacs 11 http://www.lapipaplena.org/curso-emacs-11-bloc-de-notas-scritps-y-prevision-de-lluvias/
Curso de emacs 10 http://www.lapipaplena.org/curso-emacs-10-sobre-historiales-logs-y-marcas/
Curso de emacs 9 http://www.lapipaplena.org/curso-emacs-9-corrector-ortografico-y-wget/
Curso de emacs 8 http://www.lapipaplena.org/curso-emacs-8-acceder-a-la-shell-eshell-y-ansi-term/
Curso de emacs 7 http://www.lapipaplena.org/curso-emacs-7-alias-lanzadores-y-alguna-minucia/
Curso de emacs 6 http://www.lapipaplena.org/curso-de-emacs-6-gestor-de-extensiones-i-otros-ajustes/
Curso de emacs 5 http://www.lapipaplena.org/curso-emacs-5-sobre-urls-sudo-y-musica-con-emms
Curso de emacs 4 http://www.lapipaplena.org/curso-emacs-4-ayudas-y-colorines/
Curso de emacs 3 http://www.lapipaplena.org/curso-emacs-3-dired-el-navegador-de-archivos/
Curso de emacs 2 http://www.lapipaplena.org/curso-emacs-2-iniciando-emacs-y-moviendonos-con-soltura/
Curso de emacs 1 http://www.lapipaplena.org/curso-emacs-1-a-modo-de-pequena-introduccion/

Share

One comment

  1. emacsboy dice:

    muy interesante; apenas probando el markdown-mode de la semana pasada para esos ficheros que a veces vienen en algun paquete de codigo fuente.
    es muy triste que md sea mas popular que el magnifico org

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *