Un poco de… Emacs (I): copiar y pegar en emacs

Comenzamos una nueva sección en la que hablaremos sobre el magnífico editor de texto llamado emacs (GNU/Emacs para los más puristas).

Emacs es un editor de texto creado, entre otros, por Richard Stallman. Es parte del proyecto GNU y cuenta con una cantidad de funciones abrumadora. Está pensado para ser usado con el teclado exclusivamente (aunque se puede usar el ratón también) de forma que las funciones del mismo están asociadas a combinaciones de teclas. De esta forma, podemos trabajar rápida y eficientemente sin tener que levantar las manos del teclado.

La curva de aprendizaje es un poco dura, por lo que si no os gusta trabajar con combinaciones de teclas y preferís en su lugar un editor sencillo tipo “bloc de notas”, mejor no perdáis el tiempo.

Ahora bien, si os gustaría aumentar vuestra productividad en el manejo de texto plano así como disponer de funcionalidades ilimitadas (*), no lo dudéis: probad emacs!

En Internet hay muchos tutoriales sobre iniciación a emacs (**) por lo que aquí no voy a explicar los aspectos básicos del mismo (***) sino que, en cada entrega, os mostraré funcionalidades útiles a la hora de trabajar con este editor.

En este artículo os voy a comentar cómo copiar y pegar en Emacs.

Emacs usa un “portapapeles” especial llamado ring (anillo), que es independiente del de GNU/Linux o Windows. Esto puede ocasionar algún problema a la hora de copiar/pegar en otras aplicaciones (tal y como hacemos usualmente con procesadores de texto, por ejemplo). Ahora os cuento cómo solucionar esto.

Lo primero que debéis saber es que para copiar en emacs primero tenéis que seleccionar el texto. Para ello nos situamos al principio del texto a seleccionar y pulsamos Control + Espacio, nos vamos al final del texto y pulsamos Alt + W. Con esto copiamos el texto. Si lo que queremos es cortar, en lugar de pulsar Alt + W pulsaremos Control + W. Para pegarlo en otro lugar pulsaremos Control + Y.

Antes os comentaba que si copiáis en emacs, no podréis pegar en otra aplicación. Para solucionar esto tenéis que añadir unas líneas en el archivo .emacs.el. Éste es el archivo de configuración de la aplicación, reside -como es usual- en el home del usuario y se ejecuta cada vez que arrancamos la aplicación. En él se encuentran las personalizaciones que queramos hacer a la aplicación (colores, combinaciones de teclas, funciones nuevas…).

Las líneas a añadir en este archivo para que podamos copiar/pegar desde (y hacia) son las siguientes:

(global-set-key "\C-w" 'clipboard-kill-region)
(global-set-key "\M-w" 'clipboard-kill-ring-save)
(global-set-key "\C-y" 'clipboard-yank)

Una cosa importante a tener en cuenta. Emacs se puede usar tanto en modo gráfico como en modo texto (para esto último ejecutaríamos emacs -nw), es decir, o bien se nos abre una ventana con la aplicación o bien, si lo llamamos desde un terminal con la opción -nw, se nos abre la versión en modo texto en la misma ventana de la consola.

En este úlitmo caso (emacs abierto en modo consola), no os funcionará el copy/paste entre aplicaicones de la forma anterior, ya que la gestión del portapapeles se realiza a través de las aplicaciones gráficas y no desde la consola. Para solucionar esto, cuando estéis en emacs (o en cualquier otra aplicación de la consola) podéis usar las siguientes combinaciones de teclas:

Control + Mayúsculas + C           (copiar)
Control + Mayúsculas + V       (pegar)

Espero que os haya resultado útli el artículo. ¡Hasta el próximo!

 

(*) Fijaos que no entrecomillo la palabra ilimitadas, y es que en emacs podemos crear nuestras propias funciones y asociarlas a combinaciones de teclas incluso, de forma que el editor se adapte a cualquier necesidad que se nos pueda ocurrir. Para esto se usa Emacs Lisp, que es un dialecto de Lisp específico para GNU Emacs.

(**) No incluyo referencias concretas porque son muchísimas las webs que ofrecen información interesante y útil sobre emacs, tanto para usuarios nuevos como para avanzados, así que os invito a que busquéis en Google (por ejemplo: “tutorial emacs”, o “iniciación emacs”… -sin las comillas-) y elijáis la(s) que más os guste(n).

(***) En el propio emacs tenéis un tutorial de iniciación donde se os explican los aspectos fundamentales del editor y cómo empezar a trabajar con él. Para acceder a él bastará con arrancar el programa emacs: en la pantalla de bienvenida (ver captura siguiente) tenéis un enlace al mismo (situáis el cursor encima del enlace “Emacs Tutorial”).

emacs

3 pensamientos en “Un poco de… Emacs (I): copiar y pegar en emacs

  1. luther blissett

    Uso emacs23-nox en un Debian 7 y no consigo copi/pastear de emacs a gedit (por ejemplo) o viceversa con la opción que mencionas:

    Control + Mayúsculas + C (copiar)
    Control + Mayúsculas + V (pegar)

    En vim funciona (“+y “+p) pero en emacs no lo consigo. ¿Tienes idea de cual puede ser el problema?

    1. admin Autor

      Hola.

      Antes de nada, agradecerte que hayas leído el artículo y más por comentar.

      El funcionamiento de Control+Mayúsculas+C y Control+Mayúsculas+V depende del terminal. Normalmente, en los terminales de entornos gráficos suele ser esta combinación. Si no lo es no te funcionará, porque el estas combinaciones de teclas no son de emacs sino del terminal gráfico en el que lo lanzas. Si usas emacs con X (es decir, sin el -nox) ya no tendrás problemas para copiar y pegar desde el “kill ring” a otra aplicación (como la que comentas, gedit) y viceversa.

      Salu2, Mario.

      1. luther blissett

        Gracias por la información… no queria instalar emacs con X pero veo que no tengo alternativa…

Los comentarios están cerrados.