Code Monkey home page Code Monkey logo

vmacs's Introduction

Otra configuración más de GNU Emacs

¿Cansado/a de ir saltando entre terminales, programas varios y editores de texto?
¿Quizá te interesa escribir un documento? ¿un texto profesional?

Emacs ofrece una interfaz cohesionada para todo ello.

etc/scrot.png

Por dónde empezar

Antes de nada debes *Instalar Emacs. Si ya lo has hecho recomiento que hagas el tutorial interactivo que incluye Emacs. Para iniciarlo pulsa C-h t, es decir, “Control+h” seguido de “t”.

Otra opción que puede interesar si aún no dominas las teclas (o no tienes interés en hacerlo) es el modo CUA (Common User Acess). Puedes activarlo en el menú pulsando Options --> Cut/Paste with C-x/C-c/C-v (CUA Mode), o bien pulsando M-x RET cua-mode RET (Alt+x, Enter, cua-mode, Enter) si no tienes interfaz gráfica.

Si quieres cambiar el tema de Emacs puedes usar el menú gráfico (Options --> Customize Emacs --> Custom Themes) o bien pulsando M-x RET load-theme y buscando un tema de tu agrado entre los que se incluyen.

Si te interesa el porqué Emacs es tan bueno, aquí tienes dos ejemplos que han convencido a muchos: Org-mode y Magit.

Comandos esenciales (no CUA)

ComandoTeclasDescripción
execute-extended-commandM-xEjecutar comando por nombre
find-fileC-x C-fBuscar y abrir un fichero
save-bufferC-x C-sGuardar el búfer actual
save-some-buffersC-x sGuardar todos los búfers
write-fileC-x C-wGuardar búfer como…
save-buffers-kill-terminalC-x C-cSalir de Emacs
switch-to-bufferC-x bCambiar de búfer
undoC-x uDeshacer el último cambio
keyboard-quitC-gCancelar comando actual
kill-regionC-wBorrar y copiar selección
yankC-yPegar último texto copiado

Instalar Emacs

Binarios

Si ya lo has instalado, puedes consultar *Por dónde empezar. Si no, probablemente puedas encontrar Emacs en los repositorios de la distribución de Linux que uses con el nombre de emacs o emacs-gtk (versión gráfica). En caso de Windows o MacOS, ver la información en la página web oficial de GNU.

Puede que estas versiones precompiladas no incluyan algunas características como compilación nativa de emacs lisp, treesitter, u optimizaciones propias del compilador. Si te interesa tenerlas, sigue leyendo.

Compilar (Linux)

Si no ha habido suerte con los binarios o prefieres ajustar a tu gusto las características de Emacs, puedes compilarlo desde las fuentes. Para hacerlo, necesitarás los siguientes paquetes (en Debian y derivados, consulta qué nombres utiliza el gestor de paquetes de tu distribución):

Debian (y derivados)

  • Esenciales: build-essential texinfo libgnutls28-dev libncurses-dev libgtk-3-dev libtree-sitter-dev libmagick++-dev
  • Formatos de imagen: libjpeg-dev libpng-dev libtiff5-dev libgif-dev libxpm-dev librsvg2-dev
  • Para la compilación: gcc-12 g++-12 libgccjit0 libgccjit-12-dev autoconf
  • JSON rápido: libjansson4 libjansson-dev

Void

  • Esenciales: base-devel texinfo gnutls-devel ncurses-devel gtk+3-devel tree-sitter-devel libmagick-devel
  • Formatos de imagen: libjpeg-turbo-devel libpng-devel tiff-devel giflib-devel libXpm-devel librsvg-devel
  • Para la compilación: gcc-13 libgccjit libgccjit-devel autoconf
  • JSON rápido: jansson jansson-devel

[AVISO] En Void Linux se usa la versión 13 de GCC, por lo que se debe cambiar el nombre de los programas en el paso de compilación (cuando se definen las variables CC y CXX) a /usr/bin/gcc y /usr/bin/g++, respectivamente.

Siguientes pasos

Una vez instaladas las dependencias hay que obtener el código fuente:

git clone --depth 1 --branch emacs-29 git://git.savannah.gnu.org/emacs.git

Entra a la carpeta donde se ha clonado el repositorio. Ahora procede con la configuración previa a la compilación (para más información sobre las posibles funcionalidades con las que se compila Emacs puedes ejecutar ./configure --help y leer sobre ellas. Añade o elimina las que quieras):

export CC=/usr/bin/gcc-12 CXX=/usr/bin/g++-12
./autogen.sh
./configure --with-native-compilation --with-x-toolkit=gtk3 --with-tree-sitter --with-wide-int --with-json --with-gnutls --with-mailutils --without-pop --with-cairo --with-imagemagick

Por último, compilamos e instalamos (para más info sobre las CFLAGS usadas ver el manual de GCC, man gcc):

CFLAGS="-O2 -pipe -mtune=native -march=native -fomit-frame-pointer"
make -j$(nproc --ignore=2) NATIVE_FULL_AOT=1
sudo make install

¡Y ya está! Ahora puedes ejecutar make clean para borrar los archivos intermedios de compilación para liberar algo de espacio, o sudo make uninstall cuando decidas dejar de usar Emacs.

Referencias

vmacs's People

Contributors

dorovich avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.