70 lines
3.9 KiB
Markdown
70 lines
3.9 KiB
Markdown
# Configuración de Emacs actual
|
|
|
|
Esta configuración para emacs se podría decir que es la heredera de mi [configuración de emacs inicial](https://git.kj2.me/kj/confi-emacs-inicial), la cual ya llevaba tiempo necesitando una manita de gato para arreglar y mejorar algunas cosas que me resultan cómodas para el uso, ademas de comenzar a utilizar `evil-mode`. Esta configuración bien podría haber sido una rama de la inicial, pero he decidido hacer uno nuevo y si es neceario hacer aquí las ramas.
|
|
|
|
## Instalación
|
|
|
|
Si deseas clonar mi configuración, puedes clonar este repositorio:
|
|
|
|
`git clone --depth 1 https://git.kj2.me/kj/confi-emacs-actual.git ~/.emacs.d`
|
|
|
|
Instalación de fonts y libvterm:
|
|
|
|
`sudo apt install fonts-firacode fonts-cantarell libvterm cmake`
|
|
|
|
Al igual que la versión anterior, puede ser necesario ejecutar el siguiente comando en el minibuffer para tener bien los íconos de neotree:
|
|
|
|
`all-the-icons-install-fonts`
|
|
|
|
Y eso sería todo.
|
|
|
|
## Dependencias espefícicas
|
|
|
|
Algunos lenguajes, ya sea para hacer uso de flycheck, lsp o autocompletado, pueden requerir que instales algunas cosas en específico.
|
|
|
|
- *Javascript*: Necesita de al menos [deno](https://deno.land/) para LSP y [node](https://nodejs.org/es/) para flycheck, aunque creo que con deno puede bastar para ambos.
|
|
- *PHP*: Requiere instalar php-cli (`apt install php-cli`) para flycheck.
|
|
- *GO*: Necesita etener instalado [go](https://go.dev/) para linter (gofmt) y [gopls](https://github.com/golang/tools/tree/master/gopls) para LSP.
|
|
- *Rust*: Necesita clippy para flycheck y LSP. Pare este útimo igual es posible usar [rust-analyzer](https://rust-analyzer.github.io).
|
|
|
|
## Usar el modo daemon
|
|
|
|
El modo daemon permite a emacs cargar mucho más rápido, puesto que con ello evitas volver a cargar la configuración cada vez que abres un nuevo archivo. Si quieres aprender mas sobre esto, puedes revisarlo en la [documentación de emacs](https://www.emacswiki.org/emacs/EmacsAsDaemon).
|
|
|
|
Para iniciar el daemon, puedes hacerlo desde la terminal ejecutando:
|
|
|
|
`sudo systemctl --user start emacs`
|
|
|
|
Del mismo modo, igual es recomendable habilitar el autoinicio de este servicio junto con el sistema:
|
|
|
|
`sudo systemctl --user enable emacs`
|
|
|
|
Finalmente, para abrirlo, es necesaria la usar `emacsclient` en lugar de `emacs`, para hacer que eso suceda en todo el sistema se puede realizar el siguiente hack copiando el archivo `emacs-client-runner.sh` a `/usr/local/bin/` con el nombre `emacs` de la siguiente manera:
|
|
|
|
`sudo cp ~/.emacs.d/emacs-client-runner.sh /usr/local/bin/emacs`
|
|
|
|
**🔴 Advertencia:** Esto reemplazará emacs por emacsclient, si deseas usar emacs podrás hacerlo mediante: `/bin/emacs`
|
|
|
|
**Extra:** Con este hack, para abrir emacs en modo terminal puedes ejecutar: `emacsclient -t`, `emacs -t` o `emacs -nw`.
|
|
|
|
## Consideraciones
|
|
|
|
- Toda la configuración la he realizado en los archivos que están en los archivos de la carpeta config, el archivo `init.el` solo los llama y no guarda nada más aparte de eso.
|
|
- Se puede activar/desactivar `cua-mode` (`configs/base.el`, línea 49) activado para poder copiar, cortar, pegar y deshacer cambios con las combinaciones típicas en lugar de las de emacs.
|
|
- Con F9 puedes abrir y cerrar neotree.
|
|
- Con C-F11 puedes maximizar/restaurar.
|
|
- Con C-F6 se generan/regenera el archivo TAGs.
|
|
- Con C-F5 se abre una terminal en la carpeta del archivo actual.
|
|
- Con M-c se puede comentar / descomentar un región.
|
|
- Por defecto he configurado que al presionar TAB se usen 2 espacios en su lugar.
|
|
- Cuando usas `C-s` (buscar), busca el texto actualmente seleccionado.
|
|
|
|
Recuerda que si alguna cosa no te gusta, puedes cambiarla a gusto. Esta configuración fue hecha para mi uso personal y puede que tenga cosas que solo a mi me parecen cómodas/útiles.
|
|
|
|
## Contacto
|
|
|
|
Si se tiene alguna pregunta o quieres comentarme alguna corrección, puesto que este git no está abierto a registro, puedes contactarme mediante:
|
|
|
|
E-mail: webmaster@outcontol.net
|
|
Telegram: [https://t.me/keyjay](https://t.me/keyjay)
|