Introducción a Emacs (2ª parte)


Indice

______


Introducción

Más combinaciones de teclas

.. Resumen de la entrada anterior

.. Navegando por el documento

.. Borrando cosas en el documento

.. Trabajando con buffers

.. Cortando y pegando

.. Buscando y reemplazando

.. Deshacer y Rehacer

Chuleta con el resumen de las teclas de /Emacs/

Como aprender las combinaciones de teclas de /Emacs/

Los modos, la aparición de las nuevas combinaciones de teclas y algunas reglas mnemotécnicamente

Como cambiar las combinaciones de teclas



Introducción


Vamos con la segunda parte de la introducción y como dije en el artículo anterior vamos a ver más combinaciones de teclas. Como expliqué en el artículo sobre *Mitos sobre Emacs*[1] realmente no es necesario aprenderse las combinaciones de teclas, así que si esto te parece muy enrevesado puedes dejar de leerlo, e ir consultándolo poco a poco. Cuando inicias Emacs en los menús te va indicando cada acción con qué combinación de teclas se hace y además hay una extensión llamada *which-key* que veremos después que hace lo mismo pero al mismo tiempo que vamos pulsando la combinación de teclas. Aún así como digo puedes dejar este artículo para ir comprobando las combinaciones poco a poco porque como digo al final las que más uses las irás aprendiendo poco a poco a base del uso y además dejaré un documento pdf que te pueda servir a modo de chuleta.



Más combinaciones de teclas


Resumen de la entrada anterior


Vamos a repasar las combinaciones de teclas más importantes de la *entrada anterior*:





Emacs también tiene combinaciones de teclas para mover nuestro cursor por el documento. Esto es así porque como vimos con la entrada anterior los teclados antiguos no tenían teclas tan básicas ahora como *Avanzar Página*, *Retroceder Página* o los *cursores*. Así que para mover el cursor hacia delante o detrás o avanzar párrafos hay combinaciones de teclas pero no las voy a decir ya que con los cursores vamos bien, eso lo dejaremos para otra




Borrando cosas en el documento




Trabajando con buffers




Cortando y pegando



Para que el Cortar/Copiar/Pegar sea como en otros editores podemos usar el /cua-mode/ que ya veremos más adelante.


Si nos equivocamos podemos *Deshacer* lo que hayamos hecho con *Ctrl+/* o *Ctrl+_* También hay un truco para cambiar el *Deshacer* por *Ctrl+z* más común en otros editores pero que veremos al final de esta entrada.



Buscando y reemplazando


y vamos pulsando de nuevo la combinación, lo que nos llevará hacia abajo del documento. Si pulsamos *Ctrl+g* saldremos de la búsqueda.



Deshacer y Rehacer


La *combinación de teclas* es la siguiente:




Chuleta con el resumen de las teclas de /Emacs/


Aquí os dejo una pequeña chuleta o resumen de las teclas más importantes que hemos visto.



Como aprender las combinaciones de teclas de /Emacs/


Pues como ya he dicho no es necesario aprenderse todas las combinaciones de teclas de golpe, eso es algo tedioso y aburrido. Lo mejor es ir usando el programa e ir usando las combinaciones poco a poco hasta que las vayamos interiorizando y después ya no podremos sacarlas de nosotros. Seremos uno con el teclado y el teclado uno con nosotros y será completamente automático.


Los pasos a seguir podrían ser:



Os diré por experiencia propia que simplemente con los dos primeros puntos me ha sido suficiente para ir aprendiendo todas las combinaciones de teclas que sé y de una forma muy automática.


Aquí además os dejo una chuleta que ha realizado mi admirada y gran usuaria de Emacs [Sacha Chua].


%imagen%


Tiene muchos más [aquí] y os recomiendo que le echéis un ojo porque son todos geniales.



Sacha Chua

aquí



Los modos, la aparición de las nuevas combinaciones de teclas y algunas reglas mnemotécnicamente


Aunque de esto ya hablaremos más detalladamente a /Emacs/ se le pueden instalar los llamados *Modos*. Los *Modos* en resumen son unos paquetes que les da una serie de *características* al programa que no tiene en origen. Hay modos para *leer el correo*, conectarse a una red mediante XMPP y los más utilizados modos para la *sintaxis* de un determinado lenguaje, coloreado, auto-completado, etc, etc.


Como hemos visto para la mayoría de las funciones que hemos visto que son generales a Emacs se comienza con la combinación *Ctrl-x* o incluso *Alt-x*. La *X* viene de la palabra en inglés *execute* y significa eso, que ejecuta algo.


En cambio, con los modos aparecen *combinaciones de teclas* que empiezan en cambio con *Ctrl+c*. Esto no es siempre así pero ocurre mayoritariamente y aunque no es un dogma nos ayuda mnemotécnicamente a diferenciar los comandos más generales de /Emacs/ y los comandos concretos de los distintos *Modos*. Por ejemplo, también podemos observar que todos las combinaciones de teclas de comandos de *ayuda* comienzan con *Ctrl+h* del inglés *Help*.


Veremos más adelante más de estas *reglas mnemotécnicas*.



Como cambiar las combinaciones de teclas


Y bueno, para finalizar diré que es interesante saber que aunque lo útil es saber las combinaciones de teclas que trae Emacs por defecto, que sepamos que siempre podemos cambiarlas y poner las nuestras propias.


Todo esto se hace en el fichero de configuración de /Emacs/ que es el *.emacs* o el .emacs.d/init.el, que según que el sistema sea *Windows, Linux o Mac* estará en un lugar distinto. Pues en ese fichero podemos añadir la configuración para cambiar las combinaciones de teclas, o en el caso concreto de *Cortar/Copiar/Pegar/* cambiarlo a las teclas *Ctrl+c*, *Ctrl+x* y *Ctrl+v* con el *cua-mode* que como podéis observar es un modo de /Emacs/ que añade nuevas combinaciones de teclas. Veremos en el siguiente artículo más sobre los modos y como configurar /Emacs/


Para agregar el *cua-mode* hay que instalarlo con el gestor de paquetes de /Emacs/ y luego en el fichero de configuración *.emacs* añadir la línea:



(require 'cua-mode)



Hablaremos más del *gestor de paquetes* de /Emacs/ en un futuro artículo.


También podemos añadir nuestra propia combinación de teclas. Por ejemplo vamos a mejorar como ejemplo la experiencia de Deshacer/Rehacer al estilo Windows$.


Como ya hemos visto para *Deshacer* y *Rehacer* las teclas en /Emacs/ son *Ctrl+/* ó *Ctrl+_* para deshacer y *Ctrl+?* o *Alt+_* para rehacer.


Así que vamos a reconfigurarlas para que esto mismo se haga con la combinación de teclas *Ctrl+z* y *Ctrl+y* al igual que en Windows$.


Para ello añadiremos en nuestro fichero de configuración las siguientes líneas:




(global-set-key (kbd "C-z") 'undo)


(global-set-key (kbd "C-y") 'redo)




En un *futuro artículo* hablaremos más en profundidad del modo *undo-tree-mode*, que es un modo muy interesante y visual que mejora muchísimo nuestra experiencia en el *Deshacer/Rehacer*.



/informatica/emacs/