From 8d8a60878f0d7aa162d840f6b006fe53699b2736 Mon Sep 17 00:00:00 2001 From: KJ Date: Wed, 15 May 2024 21:21:54 -0400 Subject: [PATCH] Remake readme. --- readme.md | 67 ------------------------------------------------------ readme.org | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 67 deletions(-) delete mode 100644 readme.md create mode 100644 readme.org diff --git a/readme.md b/readme.md deleted file mode 100644 index 37d0ede..0000000 --- a/readme.md +++ /dev/null @@ -1,67 +0,0 @@ -# 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-dev 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: - -`nerd-icons-install-fonts` - -Y eso sería todo. - -## Dependencias espefícicas - -Algunos lenguajes, pueden requerir que instales algunas cosas en específico. - -- *Javascript*: Necesita de al menos [deno](https://deno.land/) para LSP (eglot) y [node](https://nodejs.org/es/) para flycheck, aunque creo que con deno puede bastar para ambos. -- *PHP*: Requiere instalar [phpactor](https://phpactor.readthedocs.io/en/master/usage/standalone.html) para el LSP. -- *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). - -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](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` - -Y abrir emacs mediante emacsclient. - -## 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 el panel lateral de archivos. -- Con C-F11 puedes maximizar/restaurar. -- Con C-S-c se puede comentar / descomentar un región. -- Con C-S-d se duplica las líneas. -- Con M- se mueven las líneas/palabras. -- Por defecto he configurado que al presionar TAB se usen 2 espacios en su lugar. - -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) diff --git a/readme.org b/readme.org new file mode 100644 index 0000000..e06bc13 --- /dev/null +++ b/readme.org @@ -0,0 +1,63 @@ +#+TITLE: Configuración Emacs +#+AUTHOR: KJ +#+OPTIONS: toc:nil + +Esta es mi configuración de Emacs personal y está hecha principalmente para funcionar con *Emacs compilado desde el código*, ya que es así como yo lo uso. + +* Instalación + +Si deseas clonar mi configuración, puedes clonar este repositorio: + +#+begin_src bash +git clone --depth 1 https://git.kj2.me/kj/confi-emacs-actual.git ~/.emacs.d +#+end_src + +Si no ves los íconos bien dentro de Emacs, puedes ejecutar el comando dentro de Emacs (M-x) + +#+begin_src elisp +nerd-icons-install-fonts +#+end_src + +* Compilación de Emacs + +Si quieres instalar Emacs tal cual lo tengo yo, esta es la configuración de compilación que actualmente uso: + +#+begin_src bash +git clone https://git.savannah.gnu.org/git/emacs.git +cd emacs +./autogen.sh +./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib --localstatedir=/var --mandir=/usr/share/man --with-gameuser=:games --with-modules --without-libotf --without-m17n-flt --without-gconf --with-native-compilation=yes --with-native-compilation=aot --with-xinput2 --with-pgtk --with-tree-sitter --without-compress-install --with-mailutils + +make -j16 +make check +sudo make install +#+end_src + +Las dependencias para compilar pueden cambiar según tu distribución, por lo que queda en tus manos el ajustar lo que sea necesario. + +Como ayuda lo más que puedo dar es que en las distros basadas en Debian puedes usar =apt build-dep emacs= mientras que en las basadas en RHEL (solo lo he probado en Fedora) puedes usar =dnf builddep emacs=. En el caso de las basadas Arch puedes usar AUR. + +* Dependencias + +Normalmente no es usual el tener dependencias reales para que emacs funcione, pero para el funcionamiendo adecuado y sin errores, lo mejor es tener instalado: + +- El font de firacode +- cmake +- libvterm + +** Languaje Server Protocol (LSP) + +Esta configuración por defecto utiliza [[https://github.com/joaotavora/eglot][eglot]] para LSP con los servidores por defecto. Puedes revisar su documentación para ver lo que necesitas instalar para usar el LSP del lenguaje que necesites. + +Finalmente, recomiendo instalar [[https://github.com/blahgeek/emacs-lsp-booster][emacs-lsp-booster]], la mejora es nimia en general, pero en proyectos grandes esa pequeña mejora es bastante notoria. + +* Atajos de teclas personalizados + +Tengo varios atajos reconfigurados, por lo que recomiento revisar primero que nada el archivo [[./configs/init-keys.el][init-keys.el]] el resto de configuraciones está principalmente en los archivos [[./configs/init-minibuffer.el][init-minibuffer.el]] e [[./configs/init-packages.el][init-packages.el]], dudo que las uses todas y yo mismo no las uso, por lo que con el tiempo las voy eliminando y a veces agrego alguna extra. Con que revises el primer archivo y sepas que =consult-project= está en =C-x p= ya estás servido. + +* Contacto + +Si se tiene alguna pregunta o quieres comentarme alguna corrección, puesto que este git no está abierto a registro, puedes contactarme mediante: + +*Correo*: webmaster@outcontrol.net +*Telegram*: [[https://t.me/keyjay][@keyjay]]