¿Cómo instalo una configuración para Emacs?

En 1967 el Justicialismo apuntaba a vencer electoralmente en las
primeras lides disputadas sin el oprobioso paraguas proscriptivo. Desde
la residencia de Jorge Antonio en el madrileño Paseo de la Castellana,
Juan Perón otorga una entrevista al semanario Confirmado, donde analiza
el quehacer político argentino y explica cómo agregar una configuración
personalizada al editor GNU Emacs.

(...)

La historia tiene su lógica inexorable, y el porvenir pertenecerá, tarde
o temprano, a quienes entiendan las premisas básicas. Desde mis
comienzos como oficial del Ejército me he dedicado al estudio de la
historia, comprobando la decadencia del demoliberalismo y la íntima
relación de éste con el comunismo. Las estructuras deben cambiar. La
opción es entre una socialización de contenido nacional, humanista y
cristiana, y el socialismo internacionalista marxista.

El gobierno y sus puntos de comité creyeron que podían dividir al
movimiento. Para lograrlo, recibieron la ayuda de los neos, de los
frentistas trasnochados y del embajador de Estados Unidos, Edwin Martin,
quien parece no recordar cómo una vez Braden metió el dedo en el
ventilador. Pero la cosa no caminó, y la estantería se les vino abajo.

El ministro Palmero debiera ahora mirar con cuidado hacia adelante. Pero
es demasiado viejo para poder hacerlo, y, habiendo comprobado la
imposibilidad de dividir al movimiento, se dedica a organizar fraudes
constitucionales, seguramente mediante una reforma que le permita alejar
las elecciones de 1967 en la provincia de Buenos Aires. Intentarán
presentar este fraude como una exigencia del Ejército, para enfrentarlo
con el Pueblo. Estoy seguro de que los militares advertirán la necesidad
de un cambio de estructuras con la colaboración del Pueblo, como mejor
método en la lucha contra el comunismo. No olvidemos que la misma
revolución que asaltó los gremios, marxistizó las universidades. Hace
poco, un cuñado de la señora de Illia vino a pedir mi bendición para un
acuerdo con el comunismo. Era inevitable que así ocurriera.

La ausencia de unidad y solidaridad interna sería la única debilidad
frente al enemigo. Creo que la Delegada Superior debe esperar ciertas
renuncias. Si no, es lógico que se produzcan algunas expulsiones. Todo
se pondrá en caja, atendiendo al imprescindible trasvasamiento
generacional. Es necesario superar a los dirigentes burocratizados que,
enquistados, pierden sensibilidad.

El Conductor debe aplicar toda la fuerza en el lugar y momento
oportunos, actuar solamente en la oportunidad indicada. Es lo que he
hecho en los últimos acontecimientos. Si Dios bajara a la Tierra, todo
el mundo le perdería el respeto, y algún tonto querría en seguida ocupar
su lugar.

La doctrina del movimiento es permanente. Aspiramos a una comunidad
organizada según la concepción filosófica humanista y cristiana, pero la
técnica para lograr esa comunidad varía según las circunstancias; el
movimiento, por ello, debe estar siempre atento a la actualización
doctrinaria. Si hoy nos preguntáramos qué hacer en el país, diría que el
movimiento debe estar alerta a todo el ciclo económico de la producción,
transformación, distribución y consumo. Porque el movimiento debe ser un
punto fundamental en la lucha por sacar al país del pantano en que está.
Frente al país debe haber una persona capaz de exigir y ser obedecido y,
el único milagro económico que necesitamos es el de trabajar.

No guardo rencores contra nadie. Estoy dispuesto a contribuir a una
salida de la crisis. El problema no son los pactos, y los pactos no me
asustan, sean con quien sean. Lo importante son los hechos, y el
Movimiento estará en todo lo que constructivamente signifique un cambio
de estructuras para el país, para la creación de un país moderno, con
sentido popular, nacional, cristiano y humanista.

En su software también se producirá una actualización que ponga al mismo
a tono con la libertad del Pueblo. Han de saber que, como editor básico
prefiero al justicialista GNU Nano, y como editor de textos al Minimun
Profit Text Editor.

Sin embargo, también existe el consabido GNU Emacs, un editor de macros
de fundamental utilización en el medio. Esta versión libre del
desarrollada por Richard M. Stallman sin duda es uno de las grandes
ramas del árbol de los Editores. Sin duda su condición mayor son las
numerorísimos módulos o macros que es capaz de utilizar, lo cual suele
provocar que quien lo use, deba "tunear" su Emacs según su preferencia
personal.

A veces esto puede tornarse tedioso, pero en este caso os mostraré la
labor de José Massón, quien ha compartido su propia configuración de
Emacs llamada pepe-emacs-config, con el Pueblo. Inspirado por la obra de
J.P. Fisanotti y su excelente fisa-vim-config, en este caso ha puesto
bajo el alcance universal sus preferencias a la hora de utilizar Emacs.

Esta configuración está orientada al desarrollo de programas en lenguaje
PHP, pero muchas de sus características también se presentarán útiles
para otros lenguajes de programación o tareas generales de edición.

Esta configuración de Emacs incorpora los siguientes módulos :
adoc-mode, company, dumb-jump, emacs code browser (ecb), flycheck,
geben, iedit, js2-mode, magit, magit-gitflow, markdown-mode,
markdown-toc, neo-tree, password-store, php-mode, powerline, projectile,
smarty-mode, sqlformat, yasnippet, y muchos más.

Se haya preparada para el Emacs 25.2.2, pero bien podría operar en
versiones anteriores. Para hacerla efectiva requerimos que nuestra
carpeta ~/.emacs esté vacía. Por tal motivo, si ya usamos Emacs y
contamos con una configuración, podríamos querer renombrarla o moverla a
una localización diferente para conservarla. También podríamos querer
renombrar nuestro fichero de configuración actual ~/.emacs para
conservarlo como respaldo también.

Para ello abrimos una terminal con Ctrl+Alt+t e ingresamos los
siguientes comandos de organización:

cd ~
mv .emacs.d .emacs.d.respaldo
mv .emacs .emacs.respaldo

En cambio, si no tenemos Emacs instalado en nuestro sistema aún,
podremos instalarlo desde la terminal, con los siguientes comandos de
organización:

sudo apt install emacs exuberant-ctags git ripgrep silversearcher-ag pylint pep8 php-pear python3-pip

sudo pear channel-update pear.php.net

sudo pear install PHP_CodeSniffer

sudo pip3 install sqlparse

Ahora clonamos el repositorio de la configuración pepe-emacs-config en
el directorio de configuración de emacs. Ello lo haremos mediante el
siguiente Comando de Organización:

git clone https://github.com/Abuelodelanada/pepe-emacs-config ~/.emacs.d

Acto seguido, ejecutamos Emacs, y este continuará la instalación por sí
mismo, instalando los paquetes a través de los repositorios melpa.org y
elpa.org. En mi caso, la descarga ha durado unos tres minutos.
 
Una vez que haya finalizado, podremos reiniciar el programa para
poderutilizar la nueva configuración.

Ahora tendremos Emacs configurado de la manera deseada. Por ejemplo,
podremos contar con autocompletar, iedit, y magit, complementos útiles
para la programación de cadenas repetitivas tan comunes en PHP.

Entre las configuraciones descargadas encontraremos varias útiles que
cambiarán la estética de Emacs, pero también propondrán un
funcionamiento remozado en lo que hace a las funcionalidades de base.

El complemento Neotree se encargará de proveernos un árbol de ramas
colapsables para estructurar nuestro código fuente a compartir con el
Pueblo Libre. La funcionalidad que provee el complemento ECB (navegador
de código de Emacs) es precisamente permitinos desplazarnos por la
estructura maestra del código fuente de una manera sencilla. La
funcionalidad Tabbar permite crear barra de etiquetas coloreadas
adecuadamente, que quedarán dispuestas en la parte superior de nuestro
editor favorito y nos permitirán editar múltiples buffers en Emacs.

El complemento Company también está incluido.

Atajos

Como toda configuración de Emacs que se precie, esta nos permite una
lista de Atajos que la harán especialmente bien pensada para el uso de
sus macros asociados. Entre ellos encontramos:

    %:  va a paréntesis asociada
    F7: conmuta ecb (emacs code browser)
    F8: conmuta neotree
    F12: conmuta modo de barra de menú
    C-;: activa iedit-dwim
    C-c C-k: copiar línea
    C-c C-w: copiar palabra
    C-c C-z:  detener subtrabajo de terminal
    C-c TAB: formatear sql
    C-c c:  comentar región
    C-c down: flycheck error siguiente
    C-c u: descomentar región
    C-c flecha arriba: flycheck error previo
    C-d:  duplica línea actual
    C-l: va a línea
    C-t: crea ctags
    C-x g: status de magit
    C-x p: corre phpcbf --standard=PSR2 en el buffer actual
    C-M-flecha izquierda: retrocede en la barra de tabs
    M-flecha arriba : comienzo del buffer
    M-down: end-of-buffer
    C-M-flecha derecha: tabbar-forward
    S-M-flecha abajo : agranda ventana
    S-M-flecha izquierda: agranda ventana horizontalmente
    S-M-flecha derechat: achica ventana horizontalmente
    S-M-flecha arriba: achica ventana
    S-flecha abajo: mueve ventana abajo
    S-flecha izquierda: 'mueve ventana a izquierda
    S-flecha derecha: mueve ventana a derecha
    S-flecha arriba: mueve ventana a arriba