Para descargar el presente curso de emacs, por llamarlo de alguna manera, y, naturalmente en formato org como hariamos desde cualquier consola de linux con wget

pero desde un buffer ielm (M-x ielm):

(url-copy-file “http://lapipaplena.zzzz.io/emacs/curs_emacs.org” (expand-file-name “~/curs_emacs.org”) 1)

t, correcta la descarga y ya lo tendremos en nuestro directorio personal. nil si hubiese fallado que no es el caso.

En la 11 entrega de las presentes notas vimos weather-metno y en la 17 a wttrin para estar perfectamente informados del tiempo. Si queremos algo más simple y que además se muestre en la linea de modo podemos optar por

M-x package-install RET yahoo-weather RET

Colocamos en el archivo de configuración .emacs las lineas con nuestra ubicación, en nuestro caso Figueras, Spain y por defecto se irá actualizando cada hora.

;;; el tiempo en la linea de modo

(yahoo-weather-mode t)

(custom-set-variables

‘(yahoo-weather-location “figueras,sp”))

12,78 ºC y ventoso, pues paciencia. Si lo queremos actualizar nosotros:

M-x yahoo-weather-update-info

Hablemos de menús. Una forma de hacerlos en emacs es con hydra:

M-x package-install RET hydra RET

Hydra tiene un montón de posibilidades para hacernos la vida con emacs más placentera, pero centrándonos en los menús, la forma más básica de hacerlos es mostrar las teclas que se han de pulsar y una pequeña descripción de lo que hacen. A título de ejemplo y usando sólo comandos que sin ningún tipo de modificación cualquier usuario de emacs puede emplear, colocamos en el archivo de configuración .emacs las lineas:

(defhydra hydra-basico (:color red :columns 2)

“Pulsa”

(“w” woman “woman”)

(“i” (shell-command “ip a”) “ip”)

(“p” pwd “pwd”)

(“e” eshell “eshell”)

(“l” (message “I love emacs”) “love”)

(“q” nil “cancelar”))

Una vez evaluada la configuración (M-x eval-buffer) o reiniciar emacs, lanzamos:

M-x hydra-basico/body

O, si hemos creado un atajo, el correspondiente o el incorporado en emacs que nos ahorra escribir hydra

M-x -basico/body

Muestra las teclas a pulsar en color rojo y el menú a dos columnas. Sin la opción :columns se mostraría en una sola linea.

Pero los menús más divertidos con hydra son lo que por su efecto visual resultan más agradables. Hemos confeccionado uno como muestra para que se vean algunas de las opciones diponibles que las comentamos después:

;

(defhydra hydra-menu (:color red

:exit nil

:foreign-keys warn

:hint nil

:pre (message “Escoge una opción…”)

:post (message “… Pues adios muy buenas”))

“

^

^─────^─────────^──────^────────^────────────────^──────────────^──^─────^────

^Tractatus^ ^ips^ ^Versiones^ ^directorios^ ^archivos^

^─────^─────────^──────^────────^────────────────^──────────────^──^─────^────

git-_p_ull _i_p-externa _e_macs-version _b_ download _r_ .bashrc

^^────── ip-_l_ocal _o_rg-version _d_ pwd ^^

^^ ^^ _u_name ^^ ^^

^─────^─────────^──────^────────^────────────────^──────────────^──^─────^────

^^ ^^ ^^ ^^ ^^

“

(“q” nil)

(“p” git-pull)

(“e” emacs-version)

(“i” ip-externa)

(“l” ip-local)

(“o” org-version)

(“u” uname)

(“d” pwd)

(“b” (dired “~/Documents”))

(“r” (find-file “~/.bashrc”))

(“w” (browse-url-firefox “http://lapipaplena.zzzz.io/emacs”) “notas sobre emacs”)

(“q” nil “salir”))

;

Nota.- como el copi/paste no queda bien en wordpress, adjunto captura:

– :exit nil o :exit t que hydra sea persistente o se cierre al pulsar una opción.

– :foreign-keys warn Que si se pulsa una opción que no existe nos lo indique… y además lo hace forma cómica: An amaranth Hydra can only exit through a blue head

Otras opciones de :foreign-keys son nil (cierra el menú si no existe la opción) y run (Si no existe la opción escribe la tecla pulsada en el buffer).

– :hint nil indica que no vuelva a poner las opciones debajo del menú.

– :pre (message “Escoge una opción…”) para mostrar un mensaje.

– :post (message “… Pues adios muy buenas”) mostrar un mensaje cuando se cierra.

– :timeout 5 los segundos que hydra estará visible antes de cerrarse.

– :idle 4.0 segundos que espera hydra para iniciar.

Como siempre recordar que el curso completo está en http://lapipaplena.zzzz.io/emacs/

Felices orgasmos con emacs