11 votos

Cómo seleccionar (copiar) una salida en terminal sin mouse

Parece una forma típica en la que tiene alguna salida en el terminal y si desea seleccionar cierta frase, use el mouse para copiarla, pero ¿hay alguna forma de seleccionar sin usar el mouse? Por ejemplo, ingrese ls y obtengo una lista de archivos, y quiero seleccionar el segundo archivo (segunda fila), ¿hay alguna forma de copiar el nombre sin usar el mouse?

10voto

user264781 Puntos 276

El uso de tmux:

Yo uso tmux en vi modo:

  1. Vaya a modo de copia (en mi config Prefijo+escape, Prefijo por Defecto es Ctrl+b)
    • En el fichero de configuración (~/.tmux.conf): bind Escape copy-mode
  2. Moverse (con flechas)
  3. Seleccione su deseo de salida (Inicio de la selección de Espacio)
    • En mi config v: bind-key -T copy-mode-vi y send-keys -X begin-selection
  4. Pulse Enter para copiar el texto.
    • En mi config y: bind-key -T copy-mode-vi y send-keys -X copy-selection
  5. Pulse Prefijo+p para Pegar.

enter image description here

También crear una clave de enlace como este:

bind C-c run "tmux save-buffer - | xsel -bi"

Así que usted puede guardar el buffer en el portapapeles del sistema pulsando el Prefijo+Ctrl+c.

He de agregar la configuración de mi causa es más como vim de configuración por defecto.


El uso de los comandos:

Aquí es lo que yo hago:

  1. Ejecute el comando (por ejemplo: ls -1)
  2. Proceso de la salida para obtener el resultado de mi deseo
  3. Pip a xsel -bi

En tu ejemplo:

$ ls -1 | sed -n 2p | xsel -bi
  • ls -1 imprime las salidas de cada uno en una línea
  • sed -n 2p obtener la segunda línea
  • xsel ha sido utilizado para copiar el resultado final en el portapapeles.

Si el comando toma demasiado tiempo para ejecutar, guardar primero la salida a un archivo, el proceso de la salida:

command > output
head -10 output | whatever | xsel -bi

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: