Remake readme.
This commit is contained in:
parent
5c45a7890a
commit
8d8a60878f
67
readme.md
67
readme.md
@ -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-<arrow keys> 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)
|
|
63
readme.org
Normal file
63
readme.org
Normal file
@ -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]]
|
Loading…
Reference in New Issue
Block a user