Estou tentando descobrir uma maneira de copiar o texto atual em uma linha de comando para a área de transferência SEM tocar no mouse. Em outras palavras, preciso selecionar o texto apenas com o teclado. Encontrei uma solução intermediária que pode levar à solução completa:
Ctrl+a - move para o início da linha.
Ctrl+k - corta a linha inteira.
Ctrl+y - puxa o texto cortado de volta.
Como alternativa, também posso usar Ctrl+upara executar os 2 primeiros passos.
Obviamente, isso funciona, mas estou tentando descobrir onde exatamente o texto cortado está salvo. Existe uma maneira de acessá-lo sem usar Ctrl+y? Estou ciente xclip
e até o uso para direcionar o texto diretamente para a área de transferência, por isso estava pensando em canalizar os dados salvos Ctrl+kno xclip
, mas não sei como fazê-lo.
O método que eu consegui até agora é escrever um script que é usado xdotool
para adicionar echo
ao início da linha e | zxc
ao final da linha e, em seguida, pressiona enter ( zxc
sendo um alias personalizado que basicamente é canalizado para xclip
). Isso também funciona, mas não é uma solução realmente "limpa".
Estou usando Cshell se isso faz alguma diferença.
EDIT: Eu não quero usar screen
como uma solução, esqueci de mencionar isso.
Obrigado!
Respostas:
Se estiver usando
xterm
ou um derivado, você poderá configurar as combinações de teclas para iniciar e finalizar uma seleção de texto e salvá-la como a seleção principal do X11 ou um buffer de corte. Vejaman xterm
. Por exemplo, adicione ao seu~/.Xdefaults
:Você pode ter apenas uma
XTerm*VT100.Translations
entrada. Atualize o servidor X11 com o novo conteúdo do arquivo comxrdb -merge ~/.Xdefaults
. Comece um novoxterm
.Agora, quando você tiver alguma entrada no prompt de comando, digitar 1no teclado numérico começará a selecionar o texto na posição atual do cursor, como o botão 1 do mouse. Mova o cursor com as teclas de seta e pressione 2o teclado numérico e o texto intermediário é destacado e copiado para a seleção primária e o cutbuffer0. Obviamente, outras chaves e ações mais adequadas podem ser escolhidas. Da mesma forma, você pode colar a seleção com ligações como
insert-selection(PRIMARY)
.fonte
translations
recurso é o recurso X Toolkit mencionado aqui e ali, que não possui contrapartida em outros kits de ferramentas. No entanto, você pode alternar entre conjuntos de traduções usando okeymap
recurso (observando o comentário sobre "Você pode ter apenas um").