domingo, 19 de diciembre de 2010

La Terminal - Trucos (IV): copiar y pegar en la Terminal

Si queremos copiar una o varias líneas de código desde o hacia la Terminal, en principio tenemos dos maneras de hacerlo. La más evidente es la de la imagen de arriba: menú del botón derecho y seleccionar Copiar o Pegar, según sea el caso.

Pero quienes tenemos cierta costumbre de usar el clásico Ctrl + C o Ctrl + V, nos encontramos con la sorpresa de que no se copia desde la Terminal, ni se añade nada dentro de esta, respectivamente.

Para copiar texto o comandos desde la consola o Terminal para pegarlos en otra aplicación, hay que seleccionar el texto y pulsar:
Ctrl + Mayúsculas + C
Si lo que queremos es pegar en la consola o Terminal un texto o comandos "cazados" en la web o en cualquier parte, una vez dentro de la Terminal pulsamos:
Ctrl + Mayúsculas + V
Ni qué decir tiene que fuera de la Terminal, Ctrl + C y Ctrl + V funcionan con total normalidad... Salvo que se trate de otra consola, claro...

Actualización y ampliación del post:


Gracias a Alexandre Vaudeville (Alejandro) ahora sé por qué la combinación Ctrl + C no funciona en las consolas de Linux. Se trata de la combinación para detener un proceso que se está ejecutando. Por ejemplo, he ejecutado Jack Control desde la consola:
qjackctl
Y en el momento en que he querido detener la aplicación he hecho, teniendo en el foco del sistema la Terminal, la combinación Ctrl + C, y la interfaz gráfica de Jack se ha cerrado, dejando en la consola el siguiente mensaje:

10 comentarios:

  1. Muy bueno, no tenía ni idea de esos shortcuts, en la "terminal" yo soy de los "ratoneros" de ir al menú desplegable copiar-pegar!
    Lo cierto es que lo mismo pasa con Xtermn y Konsoloe por lo que deduzco que esa rebelión anti-ctr+c es porque con ese shortcut es como cerramos procesos ejecutados en "consola" desde tiempos inmemoriales!!!

    ResponderEliminar
  2. ¡Vaya! Pues yo eso no lo sabía, Alejandro. Ya he actualizado el post con esa valiosa información que aportas, que quizá sea de dominio público, pero te aseguro que yo no lo sabía hasta hoy.

    Muchas gracias :)

    ResponderEliminar
  3. Hola José,

    Me vas a odiar por esto pero en Linux "sólo ratón" es más rápido que "ratón + teclado" para copiar texto aunque no de la forma clásica con botón derecho.
    En Windows el truco Control-C / Control-V es más rápido que sólo ratón pero en Linux es lo contrario, hasta el punto de que una vez te acostumbres al truco que describo más abajo, lo intentarás en Windows sin querer, infructuosamente.

    Yo le llamo el "ratón-grúa". Consiste en "seleccionar-soltar". Funciona en la gran mayoría de campos de edición de texto y también desde el navegador a la terminal y viceversa. Por ejemplo, desde el navegador a la terminal: Seleccionas el texto normalmente pero en lugar de dar a Control-C, no haces nada, simplemente llevas el ratón a la terminal y pulsas el botón central (o izquierdo y derecho a la vez si no tienes botón central) y ya está. Seleccionar y pegar: dos operaciones, dos clicks.

    Además de "seleccionar-soltar" también se puede arrastrar el texto, pruébalo y verás. Es rapidísimo.

    ResponderEliminar
  4. La verdad es que tienes razón, Pablo. Pero de ahí a odiarte por ello... :D

    Si tomas comandos de tu blog, por ejemplo, y los arrastras a la Terminal, va de cine. Sin embargo, si lo que quieres es arrastrar de la Terminal, por ejemplo, al navegador, para crear una entrada en Blogger, entonces el ratón-grúa no sirve. Lo acabo de probar ahora y no funciona. Hay que recurrir al Ctrl + Mayúsculas + Copiar o al método "ratonero", pero en el sentido que decía Alejandro.

    Una manera rápida de seleccionar una línea concreta de texto, o un párrafo, es haciendo doble clic sobre esa línea o ese párrafo (esto tampoco funciona en Windows, por cierto), entonces copiar y pegar donde se desee. Esto sí vale de la consola hacia fuera, pero también te llevas de regalo el prompt.

    Un saludo, Pablo y gracias por tu aportación ;)

    ResponderEliminar
  5. En Puppy Linux, no funciona ese método...

    ResponderEliminar
    Respuestas
    1. Es posible. No todos los emuladores de Terminal son iguales. En Puppy no sé cuál se utiliza, nunca he probado esa distribución. Podrías probar con lo que comentó Pablo en su momento.

      Eliminar
  6. ¡Muy bueno! Me has ahorrado bastante tiempo ^^

    ResponderEliminar
    Respuestas
    1. Estupendo. Deberías probar también con lo que dice Pablo. Desde que lo probé, casi no uso apenas el método de esta entrada.

      Gracias por tu comentario. Saludos.

      Eliminar
  7. no puedo instalar programas que no estan el los paquetes

    ResponderEliminar

No hay normas especiales para publicar comentarios en este blog. Sólo las básicas: respeta, no insultes, y no hagas SPAM descaradamente. Tampoco se admitirán comentarios que vulneren la Ley. Cualquier aportación, consulta y crítica es bienvenida, a condición de cumplir estas normas básicas.

Si lo que quieres es ponerte en contacto directamente conmigo, dispones para ello de un formulario de contacto.