Paquetes Emacs: try, wich-keys y org-bullets.

Logo GNU EmacsCómo dijé en mi anterior entrada vuelvo a retomar el tema Emacs, en que ando enfrascado, con esta entrada en que os presento diferentes paquetes que he descubierto, de entre los cientos que hay para ampliar sus posibilidades, y mi replanteamiento del fichero de configuración.

Os cuento …

Reaprendiendo Emacs.

Aunque la revisión que estoy haciendo sobre la serie de vídeos de Mike Zamansky sobre Emacs, esta siendo dificultosa dado lo poco habituado que estoy a escucher en Inglés, lo visto hasta ahora ha cambiado mucho mi percepción de Emacs, en especial esta entrada que recomiendo no perderse, que titula de forma muy apropiada a mi entender “How to think about Emacs”:

https://www.youtube.com/watch?v=nyQxRarVYH4

Debido a esto me he planteado seguirla muy despacio y fijarme mucho sobre todo en su planteamiento que sustituye el fichero .emacs por otra de las formas de incializar Emacs que no es otra que utilizar ficheros de Elisp (.el) dentro de la carpeta .emacs.d, algo que ya había visto en otras entradas que os dejo en las referencias.

Por ello os presento mi nuevo fichero de inicio init.el, del que os iré contando los cambios desde el momento de escribir esta entrada.

(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(custom-safe-themes
 (quote
 ("6f830d829ce81601612f2978fd02d189b6e151bc52f4ce9ac79beb678f241251" default)))
 '(package-selected-packages
 (quote
 (hc-zenburn-theme zenburn-theme org-bullets which-key try use-package))))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 )

;;
;; REPOSITORIOS DE PAQUETES
;;

(require 'package)
(setq package-enable-at-startup nil)

(setq package-archives
 '(("gnu" . "https://elpa.gnu.org/packages/")
 ("marmalade" . "https://marmalade-repo.org/packages/")
 ("melpa" . "https://melpa.org/packages/")))

(package-initialize)

(unless (package-installed-p 'use-package)
 (package-refresh-contents)
 (package-install 'use-package))

;;
;; AJUSTES PERSONALES DE VARIABLES
;;

;; Maximizar la ventana al abrir Emacs

(add-to-list 'default-frame-alist '(fullscreen . maximized))

;; Mi tema elegido

(load-theme 'hc-zenburn t)

;;
;; APARIENCIA
;;

(setq inhibit-startup-message t) ;; Eliminar el mensaje de bienvenida
;; (setq menu-bar-mode -1) ;; Eliminar la barra de menús
(tool-bar-mode -1) ;; Eliminar la barra de herramientas
(global-linum-mode t) ;; Numerar las líneas del archivo
(column-number-mode t) ;; Poner el nº de columna en la barra de estado
(setq-default truncate-lines -1) ;; Activar el Wrap

;; Funcionamiento

(which-key-setup-side-window-right-bottom) ;; Hace que la lista de teclas de which-keys aparezca al lado
(setq ido-mode t) ;; Para mostrar todos los buffers abiertos al pulsar C-x b
(setq yes-or-no-p 'y-or-n-p) ;; Reemplazar "yes" y "no" por "y" y "n"
(setq confirm-kill-emacs 'y-or-n-p) ;; Pedir confirmación para salir de emacs
(setq delete-by-moving-to-trash t
 trash-directory "~/.local/share/Trash/files") ;; Mover a la papelera al borrar archivos y directorios
;; (setq desktop-save-mode t) ;; guardar la sessión al cerrar emacs y restaurarla
;; (setq ido-ignore-buffers ;; Ignorar determinados buffers.
;; '("^ " "*Completions*"
;; "*Shell Command Output*" "*Messages*"
;; "Async Shell Command" "*scratch*"
;; "*tramp*"))

;; Definición teclas

;; (global-set-key (kbd "C-c c") 'flyspell-mode) ;; Activar/desactivar automáticamente corrector con C-c c:

;;
;; GESTION DE PAQUETES
;;

;; Paquetes que utilizo

(use-package try
 :ensure t)

(use-package which-key
 :ensure t 
 :config
 (which-key-mode))

(use-package org-bullets
 :ensure t
 :config
 (add-hook 'org-mode-hook (lambda () (org-bullets-mode 1))))

Sólo es una versión reordenada de mi antiguo .emacs quitadas las configuraciones especiales de teclas y de org-mode, que retomaré más adelante.

El motivo de este cambio ha sido que he comprobado que me es mucho más útil ir probando e incorporando lo que entiendo, para afirmar conocimiento, ya que al gestionar GTD en org-mode con mi configuración anterior me encontraba cosas que no entendía y me impedían seguir, al complicarme mucho la vida.

Paquetes instalados.

Os cuento los paquetes que he instalado, por qué y para que.

hc-zenburn-theme

Lo más elemental, un tema oscuro que me permite eliminar el parámetro de reverse vídeo al lanzar el programa.

La instalación, después de probar varios temas con el paquete que os cuento a continuación ha sido tan fácil como:

M-x package-install hc-zenburn-theme

e incluir esta línea en el init.el:

(load-theme 'hc-zenburn t)

Con elló mi pantalla se ve así:

Podéis ver otras formas de instalarlo en la página de referencia.

try

El más curioso de los paquetes, permite probar un paquete Emacs sin necesidad de instalarlo.

Básicamente lo que hace es ejecutar el fichero .el que corresponde al paquete sin necesidad de instalarlo, permitiendo incluso indicar una URL en la que se encuentre el fichero.

Su uso es tan secillo como:

M-x try RET nombre-paquete o url

De hecho para comprobar tema usé por ejemplo y entre otros, este comando:

M-x try RET https://raw.githubusercontent.com/fniessen/emacs-leuven-theme/master/leuven-theme.el

which-keys

Otro paquete que me esta resultando útil, es decir algo cómo lo que veís aquí:

Es decir algo tan simple cómo mostrarnos las teclas activas tras pulsar un comando y poner en el init.el esto:

(which-key-setup-side-window-right-bottom)

org-bullets

El último es un paquete que andaba buscando hace tiempo y que hace esto:

Queda mono el org sin asteriscos ¿verdad? ;).

Referencias.

Sobre el cambio de .emacs a init.el

De los paquetes instalados.

Esto es todo por hoy, espero, cómo siempre vuestros comentarios y sugerencias y por favor si hay algún experto en WordPress que me lea estaré encantado de contactar con él, ya que necesito aclarar unas cuantas dudas.

!Saludos a todos¡ y sobre todo !Gracias por estar ahí¡

14 comentarios en “Paquetes Emacs: try, wich-keys y org-bullets.

  1. Muchas gracias por tu mención 🙂 La verdad es que Emacs no tiene límites. Y en futuras versiones mejorarán todo el tema multi-thread, será una pasada. Es verdad que todo el tema de las combinaciones de teclas al principio es un poco tostón, pero cuando ya le pillas el truco te sientes mucho más productivo.

    Mi gran asunto pendiente es org-mode, quiero empezar un día a tocarlo en serio, pero tengo tantísima información en otros sistemas repartidos que me da muchísima pereza. Pero algún día me meteré con ello. 🙂

  2. Hace un tiempo que hice el cambio de init.el a emacs.d y la verdad es que es bastante práctico, así puedo tener toda la carpeta bajo control de versiones y meter dentro los archivos el que no están en los repos. (Toda la carpetilla está en GitHub, de hecho)

    Mi próximo reto es hacer el archivo de configuración con Org. Ya os contaré a ver 😀

    Un saludo!

  3. Muy bueno el post!!! Yo también ando liado con lo de iniciar mediante init.el. Me gustaría tener una copia de mi personalización, con todos los paquetes que utilizo. A mi me ha pasado igual, el ansia por avanzar, hace que me pierda un poco, jejeje. Emacs engancha mucho y cuanto mas sabes, mas quieres saber… Esto es infinito

  4. use-package esta chulo, cuando lo activas ya no tienes que instalar nada con M-x package-install, si no tienes el paquete te lo instala solo sin saber ni como, solo restaria configurar el paquete, en mi init para comenzar a utilizar which-key solo hace falta agregar (o ejecutar en cualquier buffer)

    (use-package which-key)
    (which-key-mode)

    interesante paquete, recientemente en poesia binaria tambien estan haciendo una serie sobre emacs, je, je, emas en infinito y abrumador! https://poesiabinaria.net/2017/12/creando-una-configuracion-personalizada-emacs-emacs-d-explicaciones-detalladas-ii-edicion-codigo/

    • La ventaja es que cuanto más se sabe de Emacs más cuenta te das de lo mucho que queda por aprender …
      A mi no me da la vida para tanto, no sé como puedes andar con traducciones, desarrollo y demás.
      Gracis por comentar.

      • na, no se puede, como me aburro rapido es mas para tener variedad… un dia de esto, otro de otro, aveces de todo un poco y otros nada de nada… a laborar (ocacionalmente)

        lo unico que no falte diariamente es abrir un emacs y poner musica!

    • Simplemente para que se vea más ordenado, te recomiendo poner la configuración del paquete dentro de la llamada a use-package:

      (use-package which-key
      :config (which-key-mode))

      A mi me parece inútil el “WK” que which-key añade al “mode line”, así que de hecho uso:

      (use-package which-key
      :diminish
      :config (which-key-mode))

      • Muchas gracias por el consejo, la verdad es con esto del eLisp ando un poco verde y aunque lo entiendo por encima, aún me cuesta afinarlo.
        Se tendrá en cuenta y gracias por pasarte y aportar, un saludo.

      • gracias por el aporte, cuando empece con use-package vi esas posibiliades, aunque las encontre algo cripticas… je, je la inercia

        si ed WK y otros modos menores se incrementaron mucho, tambien he incorporado diminish a la configuracion para mantener limpia la linea de modo

Deja un comentario