Curso emacs 22. Personalizar la linea de modo y el minibuffer

En esta entrada veremos como personalizar un poco la linea de modo y el minibuffer. Sin ningún tipo de modificación, la linea de modo puede lucir más o menos así:

Añadiendo a nuestro archivo de configuración .emacs las siguientes lineas:

(setq-default mode-line-format
      (list
       " %2 " mode-line-modified
       " %2 %f %4 [%l:%p] "
       " %4 %m %4 %I %4 "
       mode-line-misc-info
       " %4 " (message "Emacs es genial") " %4 "
       mode-line-end-spaces))

Se verá:

Para que la fecha se muestre tal como se ve en la imagen, tengo en el archivo de configuración .emacs las siguientes lineas:

(setq display-time-string-forms
      '(day "-" month "-" year " " "[" 24-hours ":" minutes "]"))
(display-time)
+-------------------------+-----------------------------------------------------------------------+
| %2                      | Los signos "%" seguidos de un dígito indican espacios.                |
| mode-line-modified      | Indica si el buffer ha sido modificado:                               |
|                         |   --  no modificado desde última vez.                                 |
|                         |   **  modificado desde la última vez que se guardó                    |
|                         |   %*  de sólo lectura pero modificado                                 |
|                         |   %%  de sólo lectura pero no modificado                              |
| %f                      | Mostrar la ruta absoluta del archivo visitado.                        |
| [%l:%p]                 | Mostrar entre corchetes, num linea, ":" y porcentage desde el inicio. |
| %m                      | Modo mayor                                                            |
| %I                      | Tamaño del buffer entendible para humanos.                            |
| mode-line-misc-info     | Información diversa en este caso fecha, hora y minutos.               |
| message ...             | Única verdad universal                                                |
| mode-line-end-spaces    | Guiones hasta el final.                                               |
+-------------------------+-----------------------------------------------------------------------+

Para ver más opciones desplegamos la variable mode-line-format

C-h v mode-line-format

Podemos modificar los colores del minibuffer según si este está activo o no, añadiendo a .emacs las lineas:

;;; Modificar colores de letra y fondo del minibuffer según si está activo o no.
(dolist (buf '(" *Echo Area 0*" " *Echo Area 1*"))
  (with-current-buffer (get-buffer buf)
    (make-local-variable 'face-remapping-alist)
        (add-to-list 'face-remapping-alist '(default (:background "yellow" :foreground "black")))))

Los colores, al gusto.

Y los colores de letra del prompt añadiendo al archivo de configuración:

;;; Modificar color de letra del prompt del  minibuffer
(set-face-foreground 'minibuffer-prompt "red")

En la area de eco podemos tener un pequeño monitor del sistema que se activa cuando el minibuffer está inactivo, por defecto, durante 2 segundos. Para ello tendremos que instalar el paquete symon, desde Github (https://github.com/zk-phi/symon) o Melpa con package y añadir a .emacs las lineas:

;;; Mostrar, cuando el minibuffer esta inactivo, un pequeño monitor del sistema
(require 'symon)
(symon-mode)

Como podemos observar muestra 4 parámetros:

Uso de memoria y memoria swap (/proc/meminfo)
Carga de la CPU (/proc/stat)
Paquetes recibidos (RX) (/proc/net/dev)
Paquetes enviados (TX) (/proc/net/dev)

Felices orgasmos con emacs.

Enlace al html generado por org-mode: http://lapipaplena.org/emacs/

Enlace al archivo org: http://lapipaplena.org/emacs/curs_emacs.org

Share

2 comments

  1. nasciiboy dice:

    gracias por el tuto… me gustaba mas el tema obscuro anterior…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *