PuTTY como seleccionar texto e copiar texto utilizando apenas o teclado
Existe alguma forma de seleccionar um texto com teclado da forma como o faço normalmente utilizando Shift+arrows.
Existe alguma forma de seleccionar um texto com teclado da forma como o faço normalmente utilizando Shift+arrows.
A partir do manual PuTTY :
A cópia e cola de PuTTY funciona inteiramente com o rato. Para copiar o texto para a área de transferência, basta clicar no botão esquerdo do rato na janela do terminal, e arrastar para seleccionar o texto. Quando solta o botão, o texto é automaticamente copiado para a área de transferência. Você não precisa pressionar Ctrl-C ou Ctrl-Ins; na verdade, se você pressionar Ctrl-C, PuTTY enviará um caractere Ctrl-C para o servidor onde provavelmente causará a interrupção do processo.
tanto quanto sei, não há meios de copiar uma área seleccionada da janela do putty para a área de transferência do Windows sem utilizar o rato. existe um pedido de funcionalidade no site do putty especificamente para esta funcionalidade. http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/keyboard-copy. html
a única forma de copiar informação de a janela do putty para a área de transferência do Windows com um atalho de teclado é usar o menu de sistema da aplicação “copy all to clipboard” (que pode invocar a partir do alt-space, desde que configure a opção “Window > Behavior > System menu appears on ALT-Space” configurada no putty.
Colar a partir da área de transferência do Windows no putty pode ser feito com Shift-Insert.
Se precisar de copiar e colar apenas dentro da própria janela do terminal, consulte ou a página man para a shell que está a utilizar ou considere utilizar a aplicação unix “screen” (‘man screen’ para mais informações), que permite a selecção de texto para copiar/colar dentro da janela do terminal (semelhante a como funciona o copy/caste do vi). um excerto das páginas man:
C-a esc (copy) Enter copy/scrollback mode.
C-a ] (paste .) Write the contents of the paste buffer to the
stdin queue of the current window.
C-a {
C-a } (history) Copy and paste a previous (command) line.
C-a > (writebuf) Write paste buffer to a file.
C-a < (readbuf) Reads the screen-exchange file into the paste
buffer.
C-a = (removebuf) Removes the file used by C-a < and C-a >.
Para contornar este problema, execute o PuTTY numa consola Windows como a ConEmu ou a SuperPutty .
Eu uso o ecrã GNU,
Também tenho isto no meu screenrc para jogar bem com o vim:
register [ "&00133:se paste&00115a"
register ] "&00133:se nopaste&00115a&00133"
bind ^] paste [.]
Um amigo meu tem um gancho no ecrã para copiar a “prancheta do ecrã” para uma ou ambas as pranchetas (selecção ou prancheta) e eu acredito que o putty faz as traduções necessárias. Tentarei desenterrar.
Pode provavelmente arranjar a mesma coisa com o xclip, o encantamento que procura deve estar a usar xclip -selection clipboard
Eu testaria rapidamente para ver se xclip -selection clipboard -o
cospe o conteúdo do seu clipboard.
Estava cansado de rolar linha a linha através do botão esquerdo do rato para copiar a saída da sessão. Mas agora, preciso de clicar duas vezes no botão middle; primeiro no início e segundo no final. Como eu fiz :
Isto pode ser mais uma alternativa do que uma solução.
Dentro do vim, se quiser copiar um bloco que seleccionou em modo visual (normalmente um bloco que abrange muitas páginas), pode escrevê-lo num ficheiro (digitando :w filename.txt
enquanto o texto está seleccionado e enquanto ainda está em modo visual). Depois de o fazer, pode:
Pessoalmente, prefiro a opção 1.
Outra sugestão um pouco improvisada é activar as Mouse Keys dentro do Windows. No Windows 7 está sob o Ease of Access Center.
A tecla de atalho predefinida das Mouse Keys é Alt + Shift + NumLock.
Esperemos que ao acertar nesta combinação de teclas não interfira com a sua sessão (ou apenas Alt + Tab para fora e activá-la a partir do putty exterior). Acredito que ao premir 0 no teclado numérico inicia um bloqueio de clique, permitindo-lhe arrastar sobre a parte de texto que pretende realçar/copiar.
Trabalhei nisto durante algum tempo e o Putty em si não o pode deixar copiar apenas com o clipboard.
No entanto, o Putty pode facilitar a transmissão inversa de dados a partir do lado remoto. Se estiver a usar uma ferramenta como o Vim ou o Tmux para fazer selecções de texto baseadas no teclado, pode descarregar a saída para um ficheiro, e (datando eu próprio aqui) netcat para um túnel de porta inversa do Putty para um serviço local que descarrega a entrada para a área de transferência local.
Eu fiz um vídeo de como fazer isto aqui: https://www.youtube.com/watch?v=RI79eeCuyvE , mas aqui está a versão curta:
Configure o seu putty > conexão > SSH > túneis para encaminhar R11311 para o localhost:1234 Use netcat como um servidor de escuta que canaliza a saída para o comando window 10 clip que envia a entrada para a área de transferência windows. Envolva isto num laço eterno assim:
for /L %N IN () do nc -lp 1234 | clip
Execute o comando acima num prompt de comando que corre como administrador, porque está a licitar para uma porta.
No servidor remoto *nix, precisa de usar vim ou Tmux para enviar selecções de texto para um ficheiro.
Use um comando para enviar a sua selecção de texto para um ficheiro
tmux save-buffer ~/.clipboard
Ou, pode usar o Vim para guardar um buffer (neste caso, z) para um ficheiro
silent! redir! > ~/.clipboard
silent! echo @z
silent! redir END
Eu integrei as pranchetas do vim e do tmux usando o . clipboard como intermediário usando uma função vim gist .
Uma vez que a sua selecção de texto está no ficheiro, pode canalizar a saída para o lado remoto da porta para a frente:
cat ~/.clipboard | nc 127.0.0.1 11311
ou dentro de um script vim
silent! !cat ~/.clipboard | nc 127.0.0.1 11311 &
Note que o sinal de ampersand é necessário porque não consegui que a bandeira netcat’s -q 0
funcionasse correctamente. Talvez você consiga. Sem ele funcionar, espera um segundo inteiro antes de fechar, o que pode quebrar o fluxo do seu trabalho. Com o ampersand ele abandona o processo instantaneamente, que termina em 1 segundo em segundo plano.
Fazendo tudo isso, irá integrar totalmente o Tmux, Vim e as pranchetas de clientes locais sem tocar num rato! Esta foi a única forma que encontrei para fazer isto.
Se estiver numa máquina de janelas, funcionará bem, mas se, no caso da máquina baseada em linux, um dia não funcionar. Para que funcione, basta copiar o conteúdo em qualquer editor de texto e usar a tecla Shift + Insert na linha onde pretende colar isso.
Espero que isto ajude!