Tengo un par de ideas imperfectas, pero quizás útiles.
Método 1 - mousey.
Usa la barra de desplazamiento del terminal.
Detalles (suponiendo xterm; se requerirán ajustes para otros terminales).
- Habilite la barra de desplazamiento si aún no lo está. (En
xterm, está en el menú que obtienes con Ctrl + Button2.)
- Asegúrese de que
lessno se esté ejecutando con la -copción (tengo esta opción habilitada en mi LESSvariable de entorno, pero interfiere con lo que estamos a punto de hacer, así que tengo que escribir -cpara desactivarla).
- Usando los
lesscomandos que desee, desplácese hacia arriba o hacia abajo para que la primera línea que desea copiar sea visible en la pantalla.
- triple-Button1 su línea de partida elegida para seleccionarla.
- Desplácese hacia abajo hasta que la última línea que desea copiar sea visible en la pantalla. Debe usar solo la barra espaciadora u otras teclas de desplazamiento simples, no una
/búsqueda; el punto aquí es lessenviar todas las líneas al terminal para que puedan copiarse.
- Button3 en la línea final elegida para ampliar la selección.
Posible dificultad: su búfer de desplazamiento puede no ser lo suficientemente grande. Eso se puede cambiar xtermcon la opción de línea de comando saveLineso recurso -sl, pero no sé cómo cambiarlo en un xterm que ya se está ejecutando.
Método 2: no mousey.
Use el |comando (pipe) lesspara enviar el texto a xclip.
Detalles:
- Con los
lesscomandos que desee, desplácese hacia arriba o hacia abajo para colocar la última línea que desea copiar en la parte superior de la pantalla. Puede omitir este paso y el siguiente si desea copiar hasta el final.
- Use el
mcomando (marca) para establecer una marca en la posición final elegida. Las marcas son una característica útil por sí mismas, y ya debe conocerlas vi, pero en caso de que no lo haga: mxestablece una marca, donde xpuede ser cualquier letra, y lo 'xregresa allí más tarde.
- Ahora desplácese hacia arriba para que la primera línea que quiera copiar esté en la parte superior de la pantalla.
- Use el comando de tubería: |xque le solicitará que ingrese un comando externo. El
xdebe ser la misma letra de marca que ha utilizado en el mcomando, o $para "todo el camino hasta el final". Escribe xclipallí.
El simple caso de copiar toda la página man se reduce a g|$xclipEnter.
Advertencia (es decir, lo horrible que me acaba de pasar ): xclipestará semi-en segundo plano, ejecutándose como parte del lessgrupo de procesos. Si intenta suspender less, inicie otro trabajo en el mismo terminal y péguelo, no funcionará. Luego, cuando más adelante coloque en primer plano el trabajo man/ less, de repente aparecerá la pasta. Creo que esto debería considerarse un xcliperror ...