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

10

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

Negrito
fuente

Respuestas:

10

Usando tmux:

Yo uso tmuxen modo vi:

  1. Ir al modo de copia (en mi configuración Prefix+ escape, el Prefijo predeterminado es Ctrl+ b)
    • En el archivo de configuración ( ~/.tmux.conf):bind Escape copy-mode
  2. Moverse (usando flechas)
  3. Seleccione su salida deseada (Comience la selección con Space)
    • En mi config v:bind-key -T copy-mode-vi y send-keys -X begin-selection
  4. Presione Enterpara copiar el texto.
    • En mi config y:bind-key -T copy-mode-vi y send-keys -X copy-selection
  5. Presione Prefix+ ppara pegar.

ingrese la descripción de la imagen aquí

También cree un enlace clave como este:

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

Para que pueda guardar el búfer en el portapapeles del sistema presionando Prefix+ Ctrl+ c.

He agregado mi configuración porque se parece más a vim que a la configuración predeterminada.


Usando comandos:

Esto es lo que hago:

  1. Ejecute el comando (por ejemplo: ls -1)
  2. Procese la salida para obtener el resultado deseado.
  3. Pipéelo a xsel -bi

En tu ejemplo:

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

Si el comando tarda demasiado en ejecutarse, primero guarde la salida en un archivo y procese la salida:

command > output
head -10 output | whatever | xsel -bi
Ravexina
fuente
0

Los emuladores de terminales de Linux más comunes no pueden hacer esto directamente. Sin embargo, hay dos de las cuales soy consciente.

Uno que existe desde hace bastante tiempo es Termite. Sin embargo, es bastante espartano (los atajos de teclado no son configurables, no hay múltiples pestañas).

Ahora hay una segunda, que tiene estas características llamadas Mantid (que estoy anunciando descaradamente aquí :)):

https://github.com/omgold/mantid-term

Sin embargo, no hay una compilación de Ubuntu, sin embargo, un Arch y RPM. Sin embargo, puede intentar construir un RPM y convertirlo a deb usando Alien.

omgold
fuente
Me gustaría probar mantid, pero no puedo encontrar ningún tutorial o manual. ¿Hay alguna documentación por ahí? Sería bueno saber al menos cómo logra la funcionalidad solicitada en la pregunta.
Luís de Sousa
Hay una página de manual ('man mantid') y hay ejemplos de archivos de configuración en / usr / share / mantid. La página de manual documenta principalmente las opciones de configuración, y las combinaciones de teclas activas se pueden buscar en el archivo de configuración.
omgold