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.


Sep 18 2008

Nuevo blog sobre lisp

Tag: basicoverdrive @ 8:01 pm

Con este ya son 19 artículos los escritos sobre GNU/Emacs en general, con ello quiero hacer un alto para explicar en que me baso para escribir mis artículos; en primer lugar me baso en los conocimientos adquiridos por parte de mi amigo David, en segundo lugar el metodo de ensayo y error o lo que vulgarmente llamamos pruebas, además de posible información adquirida de emacswiki entre otros sitios, por mailings, irc y demás. Además de ello estoy leyendo el famoso libro de O’reilly de GNU/Emacs, el contenido está bastante bien, sin embargo llegado al capítulo sobre Emacs lisp la cosa deja mucho que desear, para nada es entretenido, y para nada creo que haya sido escrito de forma didáctica para el lector.

Es por ello por lo que he decidido anunciar un nuevo blog que ha comenzado a escribir David, que junto a la charla de Marchesi creo que pueden ser los pilares fundamentales sobre los que se basen al menos mis reducidos conocimientos sobre lisp.

Creo que es de vital importancia entender los conceptos base en lisp así como su filosofia de resolver los problemas (ya sea scheme, elisp o CL) antes de ponerse a aprender sentencias como lo haríamos en cualquier otro lenguaje, por eso creo que es importante que la comunidad hispana interesada en dicho lenguaje debería pasarse por http://sobrelisp.blogspot.com y que no quede como un blog que alguien lo trabaja con ánimo de impartir conocimientos y que quede en el tintero.

La verdad es que no he encontrado, al menos de momento, ningún manual o tutorial, medianamente decente, corto y simple a la vez, que explique los pilares fundamentales de lisp para gente ajena al lenguaje, y creo que es por ello por lo que la gente tiende a pensar que éste es un lenguaje antiguo, en desuso e inútil.


« Página anteriorPágina siguiente »