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.