Eu tenho algumas idéias imperfeitas, mas talvez úteis.
Método 1 - mousey.
Use a barra de rolagem do terminal.
Detalhes (assumindo xterm
; ajustes serão necessários para outros terminais.)
- Ative a barra de rolagem, se ainda não estiver. (Em
xterm
, está no menu que você obtém com Ctrl + Button2.) - Verifique se
less
não está sendo executado com a opção-c
(tenho essa opção ativada na variável de ambienteLESS
, mas isso interfere no que estamos prestes a fazer, por isso preciso digitar-c
para desligá-lo.) - Usando os comandos
less
de que você gosta, role para cima ou para baixo para que a primeira linha que você deseja copiar esteja visível na tela. - triple-Button1 sua linha de partida escolhida para selecioná-la.
- Desloque-se até a última linha que deseja copiar estiver visível na tela. Você deve usar apenas a barra de espaço ou outras teclas de rolagem simples, não uma
/
search - o ponto aqui é obterless
para enviar todas as linhas para o terminal para que elas possam ser copiadas. - Button3 na sua 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 em xterm
com a opção de linha de comando saveLines
ou -sl
, mas não sei como alterá-lo em um xterm que já está em execução.
Método 2 - não mousey.
Use o comando |
(pipe) em less
para enviar o texto para xclip
.
Detalhes:
- Usando os comandos
less
de que você gosta, role para cima ou para baixo para posicionar a linha última que deseja copiar na parte superior da tela. Você pode pular esta etapa e a próxima etapa se quiser copiar até o final. - Use o comando
m
(mark) para definir uma marca na posição final escolhida. As marcas são um recurso útil por si só, e você deve conhecê-las já a partir devi
, mas caso não: m x define uma marca, onde ox
pode ser qualquer letra, e ' x retorna você mais tarde. - Agora, role para cima para que a primeira linha que você deseja copiar esteja na parte superior da tela.
- Use o comando pipe: | x que exibirá um prompt para você inserir um comando externo. O
x
deve ser a mesma letra que você usou no comandom
, ou$
para "todo o caminho até o fim". Digitexclip
lá.
O caso simples de copiar toda a página man reduz-se a g | $ x c l i p Introduzir .
Aviso (ou seja, a coisa horrível que acaba de acontecer comigo ): xclip
será semi-background, sendo executado como parte do grupo de processos less
. Se você tentar suspender less
, iniciar outro trabalho no mesmo terminal e colá-lo, ele não funcionará. Então, quando você forçar posteriormente o trabalho man
/ less
, de repente a pasta será exibida. Eu acho que isso deve ser considerado um erro xclip
...