Curso emacs 29. Más información, hora del te, scratch y history

Hemos visto en la 4ª entrada de este curso distintas formas de solicitar ayuda, en esta entrada veremos helpful que es una alternativa a esta ayuda incorporada de Emacs que proporciona mucha más información contextual.

M-x package-install RET helpful

Con la clásica pulsación de la tecla TAB despues de entrar *M-x helpful* veremos las opciones:

Pero nosotros solo usamos helpful-at-point que, practicamente, abarca a las otras puesto que al situar el cursor sobre una variable, una función, una clave, un comando o una macro, ya interpreta de lo que se trata y muestra la información correspondiente.

Y, además, solo tenemos entrado en el archivo de configuración .emacs el atajo correspondiente:

;;; Buscar información del termino bajo el cursor (funcion, variable, comando…)
(global-set-key (kbd “C-h j”) ‘helpful-at-point)

Si con emacs te ocurre como a nosotros que perdemos la noción del tiempo y podemos pasarnos semanas sin salir de un buffer, la solución es:

M-x package-install RET tea-time

Entramos en el archivo de configuración .emacs las lineas:

;;; alarma que comienza a sonar al cabo del tiempo que se indique
;;; con la ruta del wav o mp3 que se ponga e interpretado por mplayer
(require ‘tea-time)
(setq tea-time-sound “/home/pep/Música/The_best.wav”)
(setq tea-time-sound-command “mplayer %s”)

Que no precisa de más explicación porque ya la muestra y la lanzamos:

M-x tea-time

No olvidar los altavoces conectados y el volumen apropiado. Hemos puesto 60 minutos que ya está bien. Para cancelar la alarma:

M-x tea-timer-cancel

Y para que, cuando suene, mplayer enmudezca y en el caso de que no tengamos una función muy pedreste tipo:

(defun cerrar (text)
“Matar la aplicación que se especifique”
(interactive “sAplicación a cerrar: “)
(shell-command (concat “killall ” text)))

Siempre podemos usar el “shell-command”, como si quisieramos evaluar una expresión que tambien parará a mplayer o la que se tercie:

M-x eval-expression RET (shell-command “killall mplayer”) RET

O lanzarla en un buffer ielm

Si nos hemos cargado al mplayer muestra 0 (cero) y si se vuelve tirar pero mplayer ya no está funcionando mostrará 1 (uno)

O, ya puestos, en cualquier terminal de emacs o del sistema con el consabido killall mplayer nos evitará el uso de pedradas contra el monitor.

Otra de las cosas que nos gusta modificar es el mensage del buffer *scratch*. Si, adaptandolo a nuestros gustos, entramos en el archivo de configuración .emacs las lineas:

(custom-set-variables
‘(initial-scratch-message
“;; Este buffer es para texto que no se guarda y para la evaluación de Lisp.
;; Para crear un archivo, visítelo con \[find-file] e ingrese texto en su buffer.

“))

Que es traducción literal del texto que muestra por defecto. Una vez modificado veremos:

Nota.- Después de la segunda linea del mensaje dejar una linea en blanco antes de cerrar comillas y parentesis y esta segunda linea sangrada a la izquierda porque si se quiere dejar el codigo más “bonito”:

(custom-set-variables
‘(initial-scratch-message
“;; Este buffer es para texto que no se guarda y para la evaluación de Lisp.
;; Para crear un archivo, visítelo con \[find-file] e ingrese texto en su buffer.”))

En el inicio del buffer *scratch* se verá:

Y con el cursor parpadeando al final de la segunda linea

Como recordatorio mencionar que de las tres excelentes opciones de shell que ofrece emacs, todas con sus propias ventajas y desventajas. Trasncribo literariamente que no literal:

Si está buscando un emulador fiel, ansi-term es la opción, si está más interesado en una terminal estúpida que se comporta como un búfer de Emacs, entonces use shell, si quiere algo más elegante que pueda modificar y personalizar como Emacs, eshell puede ser el adecuado.

El histórico de comandos (history) se usa igual en ansi-term y en shell pero en eshell tiene ciertas peculiaridades. La abrimos:

M-x eshell

Y con M-p y M-n va subiendo o bajando en el historial y mostrando en el minibuffer la numeración que ocupa cada comando en él. Con C-c C-x entra el último comando del historial y en el minibuffer muestra la cantidad total de ellos. Con M-r y entrando algunas letras del comando a buscar, lo busca en el historial y, si existe, lo plasma en el prompt

Y si lo que queremos es un listado completo de todo el historial:

C-x C-f ~/.bash_history

Recordar que este curso completo está en http://lapipaplena.zzzz.io/emacs/  y el correspondiente org en  http://lapipaplena.zzzz.io/emacs/curs_emacs.org

Felices orgasmos con emacs.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto:
search previous next tag category expand menu location phone mail time cart zoom edit close