5 características que harán que te enamores de Emacs

Me gusta un buen editor de texto, y yo era uno sin rumbo a veces-Vim a veces-Kate a veces-Gedit usuario hasta que caí sólidamente en Emacs, gracias a un jefe muy sabio que quería estandarizar las herramientas dentro de su equipo. No estaba planeando convertirme en un usuario exclusivo de Emacs, pero cada vez que usaba un editor diferente me faltaba una función de Emacs.

Sin embargo, así es como lo obtienes: tienes que escribir tus pensamientos solo para darles sentido.

En un momento acepté ser usuario de Emacs, pero me gusta un conjunto diverso de herramientas; Me gustan las alternativas y las opciones. ¡Esta es una de las razones por las que uso código abierto! Emacs tiene algunas características clave que considero esenciales, no necesariamente en la implementación sino en el concepto. Aquí hay cinco excelentes características del editor de texto que aprendí de Emacs y trato de implementar, de una forma u otra, en cualquier editor de texto que use.

Índice

    1. Administración de complementos y paquetes

    Emacs tiene muchos complementos y es difícil imaginar usar un editor de texto que no tenga extensiones proporcionadas por el usuario. En tiempos más sencillos, podía descargar un elisp (o cópielo y péguelo de Internet) y guárdelo en su .emacs.d registro durante años. Sin embargo, el desarrollo tiende a ser bastante rápido en estos días, por lo que Emacs también tiene un package comando que le permite navegar, instalar y actualizar complementos desde Emacs.

    [ Download a free Emacs cheat sheet. ]

    No todos los editores de texto tienen complementos, y no todos necesitan complementos. A veces, la única funcionalidad que desea en un editor de texto es la simplicidad. Sin embargo, para un editor de texto que usa durante horas, los complementos agregan algunas personalizaciones y optimizaciones importantes.

    Aplicarlo a otros editores

    Editores de texto como Átomo y Código VS integre la gestión de paquetes de la misma manera que Emacs. Hay una interfaz dedicada para navegar y mantener paquetes.

    Seth Kenlon (CC BY-SA 4.0)

    A partir de la versión 8, Vigor tiene una estructura de complemento oficial basada en el ~/.vim/pack/vendor/start directorio telefónico. Instale complementos allí, y son fáciles de encontrar, mantener y usar.

    Algunos editores no tienen complementos y esto puede considerarse una característica. Demonios, ni Emacs ni Vim tenían ningún paquete al principio tampoco. Pero la mayoría de los grandes editores tienen ricas opciones de configuración, y los trucos de configuración son básicamente con lo que comienzan la mayoría de los complementos. Cuando uso un editor simple, tiendo a administrar mis archivos de configuración para optimizar mi forma de trabajar y reproducir esta experiencia en este editor, sin importar la máquina que use.

    2. Integración

    En mi opinión, un buen editor de texto debería verse menos como una aplicación y más como parte de su sistema operativo. Quiero que mi editor sepa muy bien que funciona bajo Linux; quiero que me lleve $HOME en lugar de lo que cree que es equivalente a Mis documentos; Quiero que sepa que estoy en un repositorio de Git y qué rama revisé; Quiero que invoque no solo los comandos del shell, sino todo el shell.

    [ Getting started? Read A beginner’s guide to text editing with Emacs. ]

    En Emacs, puedo abrir un elisp concha con M-x shell o cualquier terminal con M-x term, puedo dividir pantallas con M-x 2 y M-x 3, veo todo en su contexto Git, puedo interactuar con mi sistema de archivos con dired, etc Hay muy poca separación entre Emacs y todo lo que hago. De hecho, rara vez hay una razón para salir de Emacs cuando necesito ejecutar un comando rápido en localhost, o incluso echar un vistazo rápido a un correo electrónico o PDF.

    Aplicarlo a otros editores

    Muchos editores tienen funciones de integración similares a Emacs. Hay funciones y extensiones para Vim, Atom, VS Code, Kate y muchas más que permiten que el editor se integre perfectamente con el resto de su sistema. El truco está en aprovecharlo.

    Me tomó años darme cuenta de que Emacs tenía un administrador de archivos incorporado. Memoria muscular en Alt + Tabulador mi escritorio era sólido, pero eventualmente la carga de trabajo involucrada en salir de Emacs se volvió demasiado costosa y terminé por defecto dired.

    Mis manos nunca dejaron mi teclado, descubrí nuevos atajos de teclado (resulta que solo + agregar un directorio es mucho más rápido y más fácil de recordar que dired-directory-create), y mi flujo de trabajo se ha simplificado definitivamente.

    Sea cual sea el editor que utilice, encuentre este atajo. Encuentre las pequeñas integraciones que ofrece su editor y aprovéchelas. Las características no agregan nada a su vida si las ignora, así que haga que funcionen para usted.

    3. Modo vagabundo y edición remota

    el tramp El comando en Emacs le permite editar un archivo en un sistema remoto.

    C-x C-f /ssh:[email protected]:~/example.txt

    En términos de experiencia, casi no hay separación entre el host local y el host remoto. Es una forma sutil y casi transparente de editar archivos sin salir de Emacs o de su ordenador favorita.

    Aplicarlo a otros editores

    Si su editor no tiene capacidad de edición remota, su oficina puede hacerlo. No uso Emacs para en sentido propio todo, así que realmente aprecio el de GNOME Otras ubicaciones característica. Para usarlo, abre Archivos en GNOME y haga clic en Otras ubicaciones en el panel izquierdo. Escriba el protocolo que desea utilizar (como ssh:), su nombre de usuario y el nombre de host de destino en el Conectar al servidor campo de texto en la parte inferior de la ventana, luego haga clic en Enlazar.

    Seth Kenlon (CC BY-SA 4.0)

    Es una forma vergonzosa de agrupar, más o menos, muchos sistemas diferentes en un sistema de archivos aparentemente único.

    4. Sintaxis y linters

    Una vez escribí un artículo titulado 10 consejos de YAML para personas que odian YAML, y el consejo cero en la lista era haz que tu editor haga el trabajo.

    Seth Kenlon (CC BY-SA 4.0)

    Mi punto entonces, como ahora, es que un gran editor debería ayudarlo. Mientras que Emacs (no, ni siquiera M-x doctor) no puede decirme cuál es la mejor manera de escribir mi próximo artículo de Ansible, poder dime que intenté poner una secuencia donde debería ir un mapeo en YAML, o no sangré mi código de Python, u olvidé cerrar una etiqueta XML.

    Emacs tiene "modos", muchos de los cuales son esencialmente complementos para ayudarlo a seguir una estructura predefinida. Hay yaml-mode, nxml-mode, y markdown-mode, así como modos para Python, Perl, Bash, Makefiles y muchos más.

    Aplicarlo a otros editores

    Un buen editor de texto probablemente tenga resaltado de sintaxis como mínimo. úsalo Si su editor tiene un linter incorporado, actívelo. No confío en mi editor para asegurarme de que mis configuraciones o código sean válidos, pero les permito señalar errores obvios.

    [ Download a free Bash shell scripting cheat sheet. ]

    Si su editor no tiene estas funciones, al menos debe implementar una verificación confiable después de guardar su trabajo. Se necesita disciplina (o simplemente un gancho de Git, si tiene suerte), pero es mejor que descubrir el error de producción.

    5. Atajos de teclado

    Lo admito, la verdadera razón por la que uso Emacs es que estoy acostumbrado a los atajos de teclado. Si abro una aplicación que no me permite Alt+B Donde Alt+F retroceder y avanzar una palabra, o Alt+D para borrar una palabra, o Ctrl + X + I para insertar un archivo en la posición de mi cursor, siento que estoy caminando con herramientas de la Edad de Piedra (¿quién usa las teclas de flecha o un mouse?).

    Aplicarlo a otros editores

    No hay cuenta para el gusto, y los atajos de teclado de Emacs son ciertamente adquiridos. Recuerdo encontrar los accesos directos de Emacs torpes y engorrosos en comparación con Vim y, de hecho, he usado Emacs exclusivamente como un cliente GUI durante años, por defecto en Vim para los cambios en una terminal. Eventualmente, sin embargo, los atajos de teclado comenzaron a afianzarse, y ahora es difícil para mí alejarme de ellos.

    Aprender atajos de teclado puede ser un verdadero trabajo. Se tarda más en buscar una combinación de teclas desconocida que en encontrar la función en un menú que recuerda. Descarga una hoja de trucos para el editor de su elección, o escriba uno en un bloc de papel sobre la marcha. Invierta el tiempo en aprender los atajos ahora y obtendrá dividendos en los años venideros.

    Me encanta tu editor

    Aquí hay un consejo adicional que Emacs me enseñó: realmente debería gustarte tu editor de texto.

    Algunas personas sienten indiferencia por las herramientas, una actitud de "lo que sea que funcione" que, sin duda, reduce la fricción pero, nuevamente, puede conducir a una vida sin pasión. No estoy en TI para entrar en guerras de llamas como las que escuchas en las leyendas de antaño, pero me encanta. Tengo requisitos que no son dogmáticos pero que reconozco como principios que conducen a la felicidad a largo plazo.

    Una de ellas es usar código abierto, en parte porque me he quemado con demasiada frecuencia con plataformas y herramientas sin abrir. Otra es enamorarse de mi editor de texto. Si eres como yo, usas un editor de texto la mayor parte del día, todos los días. Debería estar feliz de abrir su editor de texto; debería sentirse desesperado cuando no tiene acceso a este editor de texto, y debería estar disfrutando de su tiempo con su editor de texto. Si este editor de texto es Emacs, genial. Si es Vim o Nano o Atom o Kate o lo que sea, también está bien. Conozca su editor de texto y deje que haga su trabajo más fácil y su vida mejor.

    Artículos de interés

    Subir