Sep 30 2008

El diario de emacs

Tag: basicoverdrive @ 5:30 pm

Además del calendario que emacs posee (explicado en el artículo anterior) emacs posee un diario, que cabe decir, que esta intimamente relacionado con el calendario.

  • Creando el diario la primera vez

Antes de nada, para crear un diario, primero debemos tener el fichero llamado diary en nuestro directorio de usuario, por lo que procederemos a crearlo:

$ touch ~/diary

Dentro de dicho fichero podemos emplear distintos formatos, tales como:

DD/MM/YYYY
MM/DD/YYYY
Mes 17 2004 foobar
11/14 foobar
&SATURDAY foobar
FRIDAY foobar

Además de ello, existen algunas reglas que merece la pena saber, por ejemplo:

-> Si no especificamos el año, será una entrada para todos los años.

-> Si no especificamos el mes, será una entrada para todos los meses.

-> Si ponemos & delante de por ejemplo del dia será sólo el próximo dia.

Para especificar el horario europeo podemos añadir en nuestro .emacs:

(setq european-calendar-style ‘t)

  • Añadiendo entradas al diario

Primero deberemos lanzar el calendario, el cual como hemos dicho antes está intimamente relacionado. Para ello debemos pulsar M-x calendar. Una vez estemos en el calendario podremos ejecutar uno de los siguientes comandos para añadir entradas:

g d : ‘calendar-goto-date‘; se desplaza a una fecha.

Una vez estemos en la fecha deseada podremos añadir entradas empleando una de las siguientes combinaciones:

i d : ‘insert-diary-entry‘; añade una entrada diaria.
i w : ‘insert-weekly-diary-entry‘; añade una entrada semanal.
i m : ‘insert-monthly-diary-entry‘; añade una entrada mensual.
i y : ‘insert-yearly-diary-entry‘; añade una entrada anual.
i a : ‘insert-anniversary-diary-entry‘; añade un aniversario.
i c : ‘insert-cyclic-diary-entry‘; añade una entrada cíclica (que se repite cada cierto periodo de tiempo).

También podemos usar la marca, moviéndonos por ejemplo con C-n y pulsar:

i b : ‘insert-block-diary-entry‘; el cual añadirá una entrada para un bloque, por ejemplo para un viaje de una duración determinada.

  • Mostrando entradas en el diario

en nuestro .emacs podemos añadir:

(diary)

o bien pulsando d en nuestro calendario ‘view-diary-entries
o bien pulsando s para mostrar todas las entradas ‘show-all-diary-entries

con:

m : mostraremos en rojo las entradas del calendario ‘mark-diary-entries
u : quitaremos la marca.

Con esto parece que nuestro calendario va tomando forma y ya no es un ‘simple calendario’ con un montón de funcionalidades, sino que sirve también para función de diario.


Sep 29 2008

El calendario de Emacs

Tag: basicoverdrive @ 1:15 pm

Con M-x calendar lanzaremos el calendario que posee Emacs. Por defecto los días comenzarán por Domingo, si queremos que empiece por lunes en nuestro .emacs debemos poner:

(setq calendar-week-start-day 1)

Si queremos ver el calendario cada vez que iniciemos emacs podemos añadir esta otra línea:

(calendar)

Moviéndonos por el calendario podremos ejecutar lo siguiente:

. : ‘calendar-goto-today‘; desplaza el cursor a la fecha actual.
C-f : ‘calendar-forward-day‘; desplaza el cursor al dia anterior.
C-b : ‘calendar-backward-day‘; desplaza el cursor al dia posterior.
C-n : ‘calendar-forward-week‘; desplaza el cursor a la semana anterior.
C-p : ‘calendar-backward-week‘; desplaza el cursor a la semana posterior.
M-} : ‘calendar-forward-month‘; desplaza el cursor al mes posterior.
M-{ : ‘calendar-backward-month‘; desplaza el cursor al mes anterior.
C-x ] : ‘calendar-forward-year‘; desplaza el cursor al año posterior.
C-x [ : ‘calendar-backward-year‘; desplaza el cursor al año anterior.

Como podemos ver, desde Emacs, empleamos los mismos keystrokes que usabamos en otro modo para avanzar o retroceder palabras, líneas o párrafos para movernos en la misma proporción por el calendaria, de forma que no debemos realizar tanto esfuerzo para recordar dichos keystrokes.

C-a : ‘calendar-beginning-of-week‘; desplaza el cursor al principio de la semana.
C-e : ‘calendar-end-of-week‘; desplaza el cursor al final de la semana.
M-a : ‘calendar-beginning-of-month‘; desplaza el cursor al principio de mes.
M-e : ‘calendar-end-of-month‘; desplaza el cursor a final de mes.
M-< : ‘calendar-beginning-of-year‘; desplaza el cursor a principio de año.
M-> : ‘calendar-end-of-year‘; desplaza el cursor a final de año.
g d : ‘calendar-goto-date’; desplaza el cursor a una fecha especificada.
o : ‘calendar-other-month‘; pone el mes especificado centrado en la pantalla.
C-x < : ‘scroll-calendar-left‘; hace un desplazamiento del scroll de un mes más.
C-x > : ‘scroll-calendar-right‘; hace un desplazamiento del scroll de un mes menos.
C-v : ‘scroll-calendar-left-three-months‘; hace un desplazamiento del scroll de 3 meses adelante.
M-v : ‘scroll-calendar-right-three-months‘; hace un desplazamiento del scroll de 3 meses atrás.
SPC : ‘scroll-other-window‘; hace un desplazamiento del scroll de una pantalla.

También podremos mostrar vacaciones mediante los siguientes keystrokes:

a : ‘list-calendar-holidays‘; muestra las vacaciones en el periodo mostrado.
(sin keystroke asociada) : ‘holidays‘ : muestra las vacaciones para el mes actual.
h : ‘calendar-cursor-holidays‘; muestra si un dia es vacaciones.
x : ‘mark-calendar-holidays‘; marca las vacaciones con un dia especial.
u : ‘calendar-unmark‘; elimina la marca.

Además de ello emacs posee algunas opciones relativas al dia, así como calendarios alternativos:

p d : ‘calendar-print-day-of-year‘; imprime el número de dia del año.
p o : ‘calendar-print-other-dates‘; imprime información sobre la fecha en todos los calendarios.
M-= : ‘calendar-count-day-region‘; imprime el número de día del año de una región.
M : ‘calendar-phases-of-moon‘; imprime el calendario de las fases lunares.
S : ‘calendar-sunrise-sunset‘; imprime el calendario solar.

Quién necesita otras aplicaciones de calendario cuando esta te muestra hasta los dís de fiesta en tu mismo entorno sin necesidad de recurrir a salir a otra aplicación? Además de ello, emacs posee otros tipos de calendarios. Para un uso más avanzado del calendario se puede acceder al manual oficial de Emacs en http://www.gnu.org/software/emacs/manual/html_node/emacs/ en la sección «Calendar/diary» ya que emacs posee un sin fin de opciones incluyendo calendarios Mayas, Gregorianos, de fases lunares, etc.


Sep 29 2008

Imprimiendo desde Emacs

Tag: basicoverdrive @ 1:04 pm

Para imprimir desde emacs, obviamente la impresora deberá estar configurada en nuesto sistema, a partir de aquí debemos indicar en nuestro .emacs que impresora vamos a utilizar para imprimir. Realmente Emacs checkea la variable lpr-switches para determinar las opciones a pasar a unix (el comando lpr). Si por ejemplo nuestra impresora es lpt1 podemos poner en nuestro .emacs:

(setq lpr-switches ‘(«-Plpt1»))

Una vez configurada, podemos lanzar los siguientes comandos de impresión:

M-x print-buffer : imprime con cabecera (nombre del fichero) y pie (página). El programa envia el buffer a pr (que es un programa de simple formateo para listados).
M-x lpr-buffer : imprime directamente sin pasar por pr.
M-x print-region : imprime una región con cabecera y pie.
M-x lpr-region : imprime una región sin pasar por pr.

Recordemos que poniendo P desde dired también podemos imprimir un fichero. Además de ellos podemos imprimir un buffer con o sin atributos del texto, esto es, que generará una imagen postscript del buffer o región, teniendo en cuenta tipos de fuente, color, etc.

M-x ps-print-buffer-with-faces : imprime un buffer con atributos del texto.
M-x ps-print-region-with-faces : imprime una región con atributos del texto.

Debido a que todos estos comandos no son acciones tan habituales, no están asociados a ningún keystroke, dependiendo del uso que le demos, podríamos asociarlo a cualquier keystroke deseado.


Página siguiente »