Go to file
2022-07-12 16:38:53 -04:00
configs More changes to try improve LSP. 2022-07-12 16:38:53 -04:00
.gitignore Add 2 ways to take code screenshots (maybe unnesearry, but why not). 2022-07-12 16:36:51 -04:00
duck-small.png First commit. 2022-03-29 19:21:13 -04:00
early-init.el Fix bucle at native compilation. 2022-06-05 13:38:28 -04:00
emacs-client-runner.sh First commit. 2022-03-29 19:21:13 -04:00
init.el Add gcmh package to manage the valoue of gc-cons-threshold. 2022-06-09 04:14:23 -04:00
readme.md Uodate reame. 2022-07-12 16:37:40 -04:00

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, 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 para LSP y node 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 para linter (gofmt) y gopls para LSP.
  • Rust: Necesita clippy para flycheck y LSP. Pare este útimo igual es posible usar rust-analyzer.

Otros:

  • Búsqueda: Requiere tener instalado ripgrep.
  • Capturas: Requiere silicon para las capturas con silico y que la compilación sea con cairo para las capturas SVG.

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.

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 🔴 Advertencia Otra vez: Esto puede ser totalmente innecesario en versiones más recientes de emacs (emacs 29+).

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