Seleccione / copie / pegue en la terminal usando solo el teclado

14

Estoy buscando una manera de seleccionar , copiar y pegar el texto en el terminal completamente sin el mouse.

He estado usando tmuxhasta ahora, pero encuentro que sus combinaciones de teclas son un poco complejas para el uso diario de copiar y pegar, y ahora estoy buscando alternativas.

¿Ustedes tienen alguna sugerencia?

Para que quede claro, no se trata de canalizar al portapapeles sino de seleccionar el texto como es posible, por ejemplo, en tmux!

Morten
fuente
Vea mi respuesta aquí: askubuntu.com/a/756348/295286 . He creado una función que copiará cualquier texto que esté delante del portapapeles. Eso funciona para copiar los comandos. En cuanto a la salida, tiene que ser canalizada
Sergiy Kolodyazhnyy
1
De acuerdo, muchachos, esto no tiene nada que ver con stdout: se trata de mover el cursor a un texto impreso anterior. Selecciónelo y cópielo / péguelo en la línea de entrada actual en el terminal: -D Perdón por no ser más preciso en la descripción.
Morten
La mejor manera de agregar información adicional a su pregunta es editándola, con el botón Editar . Es mejor visible de esa manera, y los comentarios son principalmente para fines secundarios y temporales. Los comentarios se eliminan en una variedad de circunstancias. Cualquier cosa importante para su pregunta debe estar en la pregunta misma.
guntbert

Respuestas:

3

Considere xclip, que es una interfaz de línea de comandos para el portapapeles X, y está disponible con sudo apt-get install xclip.

Es posible que haya notado que en Ubuntu, si selecciona algún texto y luego presiona el botón central del mouse, ese texto se pegará en cualquier entrada que esté enfocada. xclipse conecta directamente a eso, por lo que si ejecuta el seq 10 | xclip -imouse central en alguna parte, pegará los números del 1 al 10. Si selecciona mi nombre de usuario y luego ejecuta xclip -o | cowsay, obtendrá una vaca que dice la palabra "ymbirtt".

ymbirtt
fuente
3
Me sorprende que esta respuesta sea aceptada. @morten señaló específicamente que no se trata de canalizar al portapapeles sino de seleccionar el texto como es posible, por ejemplotmux . Parece que las respuestas de @daisy y @ blue112 están en el punto.
Tad Lispy
1
@ TadeuszŁazurski, yo también, sinceramente. xclipes una herramienta realmente buena que complementa la respuesta existente, pero no estoy seguro de que sea la respuesta
ymbirtt
10

Siempre uso Ctrl+ Shift+ Cy Ctrl+ Shift+ Vpara copiar y pegar en mi terminal (no tmux).
Puede cambiar estos métodos abreviados de teclado en las preferencias de teclado de su terminal (no tmux).

Sin embargo, si desea seguir usando tmux, también puede cambiar los atajos de teclado de tmux agregando comandos a ~/.tmux.conf. simplemente agregue lo siguiente en ese archivo:

bind-key -n [shortcut. for example Ctrl+v is C-v] [what you want to do. for example 'new-window' etc]

Se verá así

bind-key -n C-t new-window

No necesita la tecla de prefijo de comando para ejecutar los comandos en el ~/.tmux.confarchivo.

Para obtener más información sobre las cosas disponibles para ~/.tmux.confconsultar este enlace

Copiar y pegar muy rudimentario se puede hacer usando esto, sin embargo, para un poco más de utilidad, recomiendo usar una configuración de copiar / pegar estilo Vim.
La habilitación de un estilo Vim de copiar / pegar se puede hacer con este archivo de configuración u otro archivo de configuración . Sin embargo, estos requieren el uso de la clave de prefijo.
Alguien incluso hizo una extensión tmux para simplificar la acción copiar / pegar en el portapapeles del sistema en tmux. Puede valer la pena echarle un vistazo.

Si desea una alternativa para Tmux, puede probar dvtm ( sudo apt-get install dvtm dtach). No lo he usado yo mismo, pero parece que tiene opciones similares.

Akisame
fuente
4

Para copiar, use Ctrl + Shift+C

Para pegar, use Ctrl+Shift + Vo Shift+insert

Otra forma de hacer esto:

Primer comando de ejecución screen , luego puede hacer los siguientes pasos:

  • prensa Ctrl + a+ EscPondrá la pantalla en modo copia.
  • Ahora, mueva el cursor al comienzo de la sección para copiar y presione enter.
  • luego, mueva el cursor al final de la sección para copiar y presione enter.
  • Ahora, presione Ctrl+ a+ ]para pegar.
margarita
fuente
55
Genial, pero para copiar algo debes tenerlo seleccionado primero. ¿Cómo se selecciona el texto sin el mouse?
Ponytech
1
@Ponytech Traté de hacer en gnome-terminal sin ejecutar ningún comando como screen pero no pude.
margarita
Usar la pantalla es la única forma que también encontré hasta ahora. Gracias por la actualización
Ponytech
2

Puedes usar el screenmodo de selección.

Ingrese a una sesión de pantalla usando el screencomando.

Luego, use Ctrl+ ay Escpara ingresar al modo de selección.

A continuación, puede mover el cursor, seleccionar texto usando space, salir del modo de selección y pegarlo cuando lo desee con Ctrl+ ay ].

Más información aquí: http://web.mit.edu/gnu/doc/html/screen_11.html

azul112
fuente