Tenho algumas idéias imperfeitas, mas talvez úteis.
Método 1 - mouse.
Use a barra de rolagem do terminal.
Detalhes (supondo xterm
que serão necessários ajustes para outros terminais).
- Ative a barra de rolagem, se ainda não estiver. (No
xterm
menu, você encontra Ctrl + Button2.)
- Verifique se
less
não está executando a -c
opção (eu tenho essa opção ativada na minha LESS
variável de ambiente, mas ela interfere no que estamos prestes a fazer, por isso tenho que digitar -c
para desativá-la.)
- Usando os
less
comandos 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 é less
enviar 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 xterm
com a opção de saveLines
recurso ou -sl
linha 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) less
para enviar o texto para xclip
.
Detalhes:
- Usando os
less
comandos 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
m
comando (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 x
pode 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
x
deve ser a mesma letra marca você usou no m
comando, ou $
para "todo o caminho até o fim". Digite xclip
lá.
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 ): xclip
será semi-plano de fundo, sendo executado como parte do less
grupo 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
/ less
job em primeiro plano , de repente a pasta será exibida. Eu acho que isso deve ser considerado um xclip
bug ...