Tenho algumas idéias imperfeitas, mas talvez úteis.
Método 1 - mouse.
Use a barra de rolagem do terminal.
Detalhes (supondo xtermque serão necessários ajustes para outros terminais).
- Ative a barra de rolagem, se ainda não estiver. (No
xtermmenu, você encontra Ctrl + Button2.)
- Verifique se
lessnão está executando a -copção (eu tenho essa opção ativada na minha LESSvariável de ambiente, mas ela interfere no que estamos prestes a fazer, por isso tenho que digitar -cpara desativá-la.)
- Usando os
lesscomandos que você quiser, role para cima ou para baixo para que a primeira linha que você deseja copiar fique visível na tela.
- botão triplo1 a linha de partida escolhida para selecioná-la.
- Role para baixo até a última linha que você deseja copiar ficar visível na tela. Você deve usar apenas a barra de espaço ou outras teclas de rolagem simples, não uma
/pesquisa - o objetivo aqui é lessenviar todas as linhas ao terminal para que possam ser copiadas.
- Button3 na linha final escolhida para estender a seleção.
Possível dificuldade: seu buffer de rolagem pode não ser grande o suficiente. Isso pode ser alterado xtermcom a opção de saveLinesrecurso ou -sllinha de comando, mas não sei como alterá-lo em um xterm que já esteja em execução.
Método 2 - sem mouse.
Use o |comando (pipe) lesspara enviar o texto para xclip.
Detalhes:
- Usando os
lesscomandos desejados , role para cima ou para baixo para posicionar a última linha que deseja copiar na parte superior da tela. Você pode pular esta etapa e a próxima etapa se desejar copiar todo o caminho até o fim.
- Use o
mcomando (marca) para definir uma marca na posição final escolhida. As marcas são um recurso útil por si só, e você já deve conhecê-las vi, mas, caso não o faça: mxdefine uma marca, onde xpode ser qualquer letra, e 'xretorna para você mais tarde.
- Agora role para cima para que a primeira linha que você deseja copiar fique na parte superior da tela.
- Use o comando pipe: |xque exibirá um prompt para você digitar um comando externo. O
xdeve ser a mesma letra marca você usou no mcomando, ou $para "todo o caminho até o fim". Digite xcliplá.
O simples caso de copiar a página de manual inteira reduz-se a g|$xclipEnter.
Aviso (isto é, a coisa horrível que acabou de acontecer comigo ): xclipserá semi-plano de fundo, sendo executado como parte do lessgrupo de processos. Se você tentar suspender less, iniciar outro trabalho no mesmo terminal e colar nele, ele não funcionará. Em seguida, quando você primeiro colocar o man/ lessjob em primeiro plano , de repente a pasta será exibida. Eu acho que isso deve ser considerado um xclipbug ...