Add doom article

This commit is contained in:
drymer 2019-02-05 06:34:48 +01:00
parent 6b7739d497
commit 613afc30f0
Signed by: drymer
GPG Key ID: A307D64D5DDFDAAD
3 changed files with 100 additions and 0 deletions

View File

@ -6691,3 +6691,57 @@ Tanto para el articulo como para aprender como iba todo, he usado los siguientes
[fn:1] Sketch es como se llaman los programas de Arduino.
* DONE Doom: un framework para configurar emacs :emacs:doom:
CLOSED: [2019-02-04 lun 22:11]
:PROPERTIES:
:EXPORT_FILE_NAME: doom-como-gestor-de-configuracion-de-emacs
:ARCHIVE_TIME: 2019-02-04 lun 22:35
:ARCHIVE_FILE: /media/.secret/Casa/Documentos/org/index.org
:ARCHIVE_OLPATH: Areas/Blog/Articulos/Personal
:ARCHIVE_CATEGORY: index
:ARCHIVE_TODO: DONE
:ARCHIVE_ITAGS: personal blog
:END:
:LOGBOOK:
CLOCK: [2019-02-01 vie 22:52]--[2019-02-01 vie 23:59] => 1:07
CLOCK: [2019-01-19 sáb 21:32]--[2019-01-19 sáb 22:11] => 0:39
:END:
Emacs es seguramente la tecnología a la que más tiempo de estudio le he dedicado (y dedico) desde que empezó mi interés por los ordenadores. Y si algo he sacado en claro es que, dado mis otros intereses, nunca le dedicaré el tiempo a mi configuración personal que se merece. Lo he hecho durante mucho tiempo y lo seguiré haciendo, pero he decidido que no lo haré "a pelo", sino que usaré ciertas facilidades que da doom.
Qué es doom? En realidad es la configuración de emacs de [[https://github.com/hlissner/][hlissner]]. Este humano quería usar emacs con los atajos de vim y quería que emacs se pareciese a un IDE moderno. Además, decidió que quería que la gestión de este fuese mediante la terminal.
Las características principales que tiene son:
- Un =Makefile= para gestionar la instalación de paquetes, actualización y otros
- Gestión de paquetes declarativa mediante =def-package=, un wrapper para =use-package= y =quelpa=
- Un gestor de popups mediante =shackle=
- Atajos de teclado de vim con =evil-mode=
- Completado de código mediante =company-mode=
- Gestión de proyectos mediante =projectile=
- Workspaces mediante =persp-mode=
- Es bonito
- Arranca rápido (a día de hoy tengo 300 paquetes y ha tardado 4 segundos en arrancar)
Quien ya use estos programas, puede que piense que es una tontería, que no aporta nada. Pero la principal característica, que no mencionan en la página del proyecto es que alrededor de todos estos paquetes mencionados, hay wrappers que hacen que se integren entre ellos. Veremos más adelante a que me refiero.
La característica que más me gusto fue la de workspaces. Ahora solo tengo que ejecutar =projectile-switch-project= y el proyecto que abra, se abrirá en un workspace nuevo, sin que los buffers que abra se mezclen con los que ya tengo abiertos. Un video vale más que mil palabras.
<video width="720" height="540" controls loop align="center">
<source src="/videos/demo-doom.ogv" type="video/ogg">
Your browser does not support the video tag.
</video>
En este video se puede ver que en el primer =workspace=, abro el proyecto de mi página web. En el segundo, en cambio, abro uno gestión de infraestructura con ansible. Y ambos están separados, cuando en cada uno de ellos ejecuto =find-file=, me muestra solo los ficheros de ese proyecto
Para probarlo rápidamente, se puede ejecutar lo siguiente:
#+BEGIN_SRC bash
git clone https://github.com/hlissner/doom-emacs ~/.emacs.d
cd ~/.emacs.d
cp init.example.el init.el
make install
emacs
#+END_SRC
En adelante mi configuración estará en [[https://git.daemons.it/drymer/doom-emacs-dotfiles][este repositorio]]. Dado que hay muchos cambios respecto a como lo tenia antes, prefiero crear un repositorio nuevo y mantener el [[https://git.daemons.it/drymer/emacs-dotfiles][antiguo como referencia]].

View File

@ -0,0 +1,46 @@
+++
title = "Doom: un framework para configurar emacs"
author = ["drymer"]
date = 2019-02-04T22:11:00+01:00
tags = ["emacs", "doom"]
draft = false
+++
Emacs es seguramente la tecnología a la que más tiempo de estudio le he dedicado (y dedico) desde que empezó mi interés por los ordenadores. Y si algo he sacado en claro es que, dado mis otros intereses, nunca le dedicaré el tiempo a mi configuración personal que se merece. Lo he hecho durante mucho tiempo y lo seguiré haciendo, pero he decidido que no lo haré "a pelo", sino que usaré ciertas facilidades que da doom.
Qué es doom? En realidad es la configuración de emacs de [hlissner](https://github.com/hlissner/). Este humano quería usar emacs con los atajos de vim y quería que emacs se pareciese a un IDE moderno. Además, decidió que quería que la gestión de este fuese mediante la terminal.
Las características principales que tiene son:
- Un `Makefile` para gestionar la instalación de paquetes, actualización y otros
- Gestión de paquetes declarativa mediante `def-package`, un wrapper para `use-package` y `quelpa`
- Un gestor de popups mediante `shackle`
- Atajos de teclado de vim con `evil-mode`
- Completado de código mediante `company-mode`
- Gestión de proyectos mediante `projectile`
- Workspaces mediante `persp-mode`
- Es bonito
- Arranca rápido (a día de hoy tengo 300 paquetes y ha tardado 4 segundos en arrancar)
Quien ya use estos programas, puede que piense que es una tontería, que no aporta nada. Pero la principal característica, que no mencionan en la página del proyecto es que alrededor de todos estos paquetes mencionados, hay wrappers que hacen que se integren entre ellos. Veremos más adelante a que me refiero.
La característica que más me gusto fue la de workspaces. Ahora solo tengo que ejecutar `projectile-switch-project` y el proyecto que abra, se abrirá en un workspace nuevo, sin que los buffers que abra se mezclen con los que ya tengo abiertos. Un video vale más que mil palabras.
<video width="720" height="540" controls loop align="center">
<source src="/videos/demo-doom.ogv" type="video/ogg">
Your browser does not support the video tag.
</video>
En este video se puede ver que en el primer `workspace`, abro el proyecto de mi página web. En el segundo, en cambio, abro uno gestión de infraestructura con ansible. Y ambos están separados, cuando en cada uno de ellos ejecuto `find-file`, me muestra solo los ficheros de ese proyecto
Para probarlo rápidamente, se puede ejecutar lo siguiente:
```bash
git clone https://github.com/hlissner/doom-emacs ~/.emacs.d
cd ~/.emacs.d
cp init.example.el init.el
make install
emacs
```
En adelante mi configuración estará en [este repositorio](https://git.daemons.it/drymer/doom-emacs-dotfiles). Dado que hay muchos cambios respecto a como lo tenia antes, prefiero crear un repositorio nuevo y mantener el [antiguo como referencia](https://git.daemons.it/drymer/emacs-dotfiles).

BIN
static/videos/demo-doom.ogv Normal file

Binary file not shown.