Introducción

Introducción

En primer lugar, una palabra de advertencia: si bien los artículos anteriores se centraron en el principiante, este artículo es para usuarios más avanzados, que ya "hablan" de un lenguaje de programación o dos, y quieren personalizar su editor para que sea ideal para el ideal para el ideal para el tarea. Por lo tanto, se espera que sea más o menos competente en las formas de emacs, para poder usarlo para tareas diarias y tener la capacidad y deseo de aprender algo nuevo. Después de todo, será por su propia recompensa, y sus tareas de programación se volverán más eficientes. Nuestro enfoque será tomar algunos idiomas populares, mostrarle cómo configurar emacs para el entorno de desarrollo perfecto y luego pasar al siguiente idioma. La configuración de Emacs se realiza en un dialecto Lisp llamado Elisp, pero no se preocupe si aún no lo sabe, le diremos lo que necesita.

Los idiomas

Primero, algunos antecedentes. Este artículo trata sobre emacs, no sobre ningún derivado como MG o JED que pueda o no ofrecer la funcionalidad deseada. Esto se debe a que muchos derivados nacieron de la necesidad de crear un emacs más pequeño, ya que el original es bastante grande, es cierto que. Entonces, en el proceso de eliminar la funcionalidad, solo podría haber alguna funcionalidad que se esté eliminando y probablemente necesitaremos aquí. En resumen, solo emacs. Segundo, los archivos. En nuestros ejemplos, además de personalizar el ~/.archivo emacs, crearemos un directorio llamado ~/.emacs.d/ donde colocaremos nuestros modos. Así como Emacs sabe qué tipo de resaltamiento de sintaxis, sangría, etc. Para usar para varios tipos de texto, como HTML, TEX, Código fuente C y otros, a través de modos, podemos agregar/modificar modos a nuestro gusto, a esto es lo que haremos. Prácticamente hablando, un modo es un archivo con un .EL EXTENSIÓN (de Elisp) que se dejará caer en ~/.emacs.D, entonces ~/.Los emacs serán alterados para que el editor "sepa" sobre la nueva extensión. Verás en unos momentos, dependiendo de lo rápido que leas.

C/C++

Parece obvio que comenzaremos con C, porque es el lingua franca de Unix y Linux. Emacs también está escrito (parcialmente) en C, por lo que hay otra razón para ti. Aunque Emacs sabe cómo detectar el lenguaje que está escribiendo, según la extensión del archivo, es posible que necesite una mayor personalización. En nuestro artículo, dijimos que cuando en el modo C, los emacs ya se ajustan a las pautas de codificación de GNU con respecto a las pestañas, la sangría, etc. Pero si desea contribuir con código al kernel de Linux, la situación cambia. Obviamente, ya tiene el núcleo, intente descargar en algún lugar, pero si no lo hace, aquí hay un extracto de documentación/estilo CodingStyle (pero si está trabajando con los chicos del kernel, este archivo debe estar debajo de su almohada):

Las pestañas son 8 caracteres y, por lo tanto, las hendiduras también son 8 caracteres. Hay movimientos hereje que intentan hacer las muescas 4 (o incluso 2!) personajes profundos, y eso es similar a tratar de definir el valor de Pi para ser 3. [...] El otro problema que siempre aparece en el estilo C es la colocación de aparatos ortopédicos. A diferencia del tamaño del sangría, hay pocas razones técnicas para elegir una estrategia de colocación sobre la otra, pero la forma preferida, como nos lo muestran los profetas Kernighan y Ritchie, es poner el aparato ortopédico en la línea y poner el cierre Brace primero, por lo tanto: if (x es verdadero) hacemos y 

Entonces ves que esto ya entra en conflicto con la forma en que Emacs hace cosas por defecto, además querrás tener funcionalidad adicional, como tal vez la numeración de línea o diferentes colores con resaltar. Así que, aquí vamos. Debido a que ya hay un modo C, solo necesitamos personalizarlo editando ~/.emacs:

;; Así es como se usan los comentarios, pero es mejor leer ;; http: // www.CS.CMU.edu/cgi-bin/info2www?%28ELISP%29COMMENT%20TIPS (SETQ Standard-Indent 8) (Modo de número de línea 1) (Modo de número de columna 1) (Set-Background-Color "Black") (set-Cursor-Color "Red") 

Con respecto a la apertura de los aparatos ortopédicos que no se colocan en su propia fila, no hay nada de qué preocuparse: los emacs actuarán como lo esperas si prefiere ese estilo de codificación.

Pitón

Gracias a Pedro Kroger, tenemos una idea simple (y queremos compartirla) sobre cómo configurar sus emacs si es un desarrollador de Python. No hace falta decir que todo lo que estás leyendo aquí es asumir que estás ejecutando la última versión estable, que es 23.X . De lo contrario, estás solo, ya que pueden surgir problemas de compatibilidad.

Muchas distribuciones ofrecen un modo de pitón empaquetado. Sobre Debian, Gentoo y Derivados se llama Python-Mode, en Fedora, parece que está integrado en el paquete Emacs, Arch lo tiene bajo el nombre de Emacs-Python-Mode, y OpenSuse tiene la misma situación que Fedora. Ahora editemos ~/.emacs para que lo sepa, después de instalarlo, por supuesto:

(Agregar a la lista 'cargada de carga' ~/.emacs.d ") (requiere 'python-mode) (agregar a la lista' automode-moder-alist '(" \\.py \\ '" . python-mode)) 

Hay muchos otros modos para Python, empaquetados o no, y recomendamos el blog de Pedro para obtener más información. La wiki emacs también es un buen lugar para mirar, no solo para la información de Python, ya que es un recurso rico. Con Python-Mode, puede ejecutar el código que acaba de escribir en la misma ventana, debido a la naturaleza interpretada del idioma. Entonces, después de abrir/crear/editar su .archivo py, escriba c-c ! Para conseguir un caparazón de pitón. Regrese a la fuente con C-X O, luego escriba C-C C-C para que el intérprete ... bueno, interprete el contenido del búfer. Puede ver los resultados en la parte inferior de la ventana.

Php

Desde entonces, y esto también está disponible para el modo Python anterior, varias distribuciones tienden a nombrar estos modos de manera diferente, y algunos incluso no los tienen en absoluto, le recomendamos que se ahorre algo de tiempo y encuentre la página de inicio del modo respectivo, guarde la página de inicio, guarde la .El archivo en ~/.emacs.D y contar emacs al respecto. En nuestro caso, el modo PHP es fácil de encontrar, así que descargue y luego escriba lo siguiente en ~/.emacs:

(Agregar a la lista 'cargada de carga' ~/.emacs.d ") ;; tenga en cuenta el ' - No es un error tipográfico! (requiere 'Modo PHP) 

Es posible que desee agregar una tercera línea, al igual que la de la parte de Python, para que las emacs usen el modo PHP cada vez que abre un .archivo php. No repetiremos comandos ya mencionados, así que ahora que sepa qué agregar a su ~/.archivo emacs, solo nos concentraremos en nueva información. Dado que hablamos de extender los modos existentes, ahora que tiene el modo PHP en su lugar, aquí está cómo extenderlo dentro de ~/.Emacs para codificación específica de Drupal (gracias a los chicos de Drupal, por supuesto)

(Defun Drupal-Mode () "Drupal PHP-Mode."(Interactive) (PHP-Mode) (Mensaje" Modo Drupal activado.") (SET 'TAB-WIDTH 2) (SET' C-BASIC-OFFSET 2) (SET 'ENDENT-TABS-MODE NIL) (c-set-ofset' case-label '+) (c-set-ofset' arglist-intro '+); para matrices fapi y dbtng (c-set-ofset' argList-cont-nointy 'c-lineup-matat -Drupal (); Drupal (Agregar a la lista 'Auto-Mode-Alist' ("\\.\\ (módulo \\ | test \\ | install \\ | theme \\) $ " . Drupal-Mode)) (Agregar a la lista 'auto-mode-alist' ("/Drupal.*\\.\\ (php \\ | inc \\) $ " . Drupal-Mode)) (Agregar a la lista 'Auto-Mode-Alist' ("\\ \\.información " . Conf-Windows-Mode))) (Setup-Php-Drupal) 

Aunque en la vida real podría ser un poco desordenada, cuando se trata de mis tareas relacionadas con la computadora, me gustan. Es por eso que ponía el código anterior dentro de un archivo separado en ~/emacs.D, luego decir ~/.emacs cómo usarlo. Esto le permite no desordenar su ~/.archivo emacs e instrucciones específicas del lenguaje con más genéricos. Por ejemplo, como has visto anteriormente, hay círculos C cuando te piden que vayas a la pestaña de 8 caracteres. Pero si soy una C y también un programador de Python, ciertamente no querría usar nada más que pestañas de 4 caracteres (consulte PEP 8 para las pautas de codificación en Python).

Sql

Ahora SQL es una bestia algo diferente. No tiene tantas pautas de codificación como otros idiomas, pero al mismo tiempo cada proveedor, comercial (Oracle, Microsoft) o no (SQLite, Postgres) extiende el idioma estándar ANSI con piezas específicas. Por lo tanto, un buen modo SQL debe saber cómo lidiar con varias implementaciones para ser útiles. Correcto, así que a través del mismo wiki emacs encontramos sqlmode, que aparentemente es exactamente lo que queríamos. Conoce Postgres, MySQL, Ingres, DB2, Oracle, Informix y Sybase, solo por nombrar algunos. Simplemente puede obtenerlo, guardarlo y usarlo. También puede echar un vistazo a la más hemorragia LISP: SQL, pero solo veremos SQLMode.

Pongámonos a trabajar. Para llegar al intérprete SQL desde una ventana que ya está en modo SQL, haga esto: M-X SQL-SET-SQLI-BUFFER Return * SQL * return. Lo que sigue es un fragmento de código muy práctico para guardar el historial por separado para cada dialecto SQL (E.gramo. Sybase, MSSQL, etc.). Para que esto funcione, simplemente cree un directorio SQL en ~/.emacs.D, luego agregue este gancho a ~/.emacs:

(Defun My-SQL-Save-History-Hook () (let ((LVAL 'SQL-Input-Ann-Name) (RVAL' SQL-Product)) (if (Symbol-Value RVal) (LET ((nombre de archivo FileName (concat "~/.emacs.D/SQL/"(Símbolo-Nombre (Símbolo-Valor Rval))"-Historia.sql "))) (set (make-leocal-variable lval) nombre de archivo)) (error (formato" el historial de SQL no se guardará porque %s es nil "(nombre de símbolo rval))))) (Add-Hook 'SQL-Interactive-Mode-Mode-Hook' My-SQL-Save-History-Hook) 

Otros modos SQL útiles

  • Plsqlmode
  • Sqlindent
  • Sqltransform
  • Sqlplus
  • Sqlreplace

Todo esto se puede encontrar usando la wiki emacs, pero esos no son los únicos. El uso de la función de búsqueda de Wiki será un usuario de Emacs feliz, ya que encontrará muchos modos prácticos.

Conclusión

Estos son solo algunos de los idiomas que emacs admite, ya sea fuera de la caja o mediante extensiones. Lamentablemente, debido a la falta de espacio, la lista anterior tenía que ser corta, pero con la gran cantidad de información disponible en línea, puede, con un poco de esfuerzo, encontrar un modo para su idioma o, mejor, mejor, aprender cómo escribir su propio.

Tutoriales de Linux relacionados:

  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Mastering Bash Script Loops
  • Cosas para instalar en Ubuntu 20.04
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Mint 20: Mejor que Ubuntu y Microsoft Windows?
  • Bucles anidados en guiones Bash
  • Manipulación de Big Data para la diversión y las ganancias Parte 1
  • Manjaro Linux vs Arch Linux
  • Ubuntu 20.04 Guía
  • Los mejores juegos de terminal en Linux