Como copio facilmente o buffer de rolagem do GNU Screen para um arquivo? Ou seja, uma versão mais poderosa do comando 'cópia impressa'?
Na tela GNU, posso usar " Ctrl+ A Esc" para inserir o buffer de rolagem. Eu poderia marcar o buffer inteiro e usar " Ctrl+ A Ctrl+ ]" para colá-lo em um buffer Emacs , salvando-o em um arquivo.
No entanto, isso é tedioso. Existe um comando de tela que simplesmente copia o buffer de rolagem para um arquivo, como 'cópia impressa' faz para a parte visível da tela?
fonte
screen -r
se reconectar a uma sessão existente, a cópia impressa não será salva no diretório ativo dentro da tela ou na que você estava antes de usarscreen -r
. Eu acho que ele é salvo no diretório em que você estava quando iniciou a sessão de tela. Você pode alterar isso com o comando hardcopydir .Pressione Ctrl+ A : bufferfile /tmp/somefile.txt ENTER e, em seguida, Ctrl+A >
Isso gravará o conteúdo atual do buffer no arquivo nomeado.
fonte
TL; DR:
^A:writebuf <filename>
O OP parece querer uma maneira de usar a parte selecionada do buffer que você obtém ao fazer um ^ A [, selecionando o texto usando o espaço como início e fim e, em vez de usar ^ A] para colar, salve a parte selecionada resultante do buffer para um arquivo.
Isso funcionou:
^A:writebuf <filename>
Nota: um 'f' no writebuf
fonte
Tente
hardcopy -h
incluir o buffer inteiro.fonte
hardcopy -h
escreve parahardcopy.N
ondeN
está o número da janela atual.Isso funcionou para mim:
Entre no modo de edição (
~
) e digite:Ele criou um arquivo enorme, dos quais 98% estavam vazios, mas meus logs estavam totalmente presentes nos 2% restantes.
fonte
Ctrl+ A, :E emitir 'log on' o comando.
Ou defina-o como padrão no seu arquivo .screenrc como 'deflog on'.
fonte
Do Ctrl+ A, H.
Que salva a tela atual em um arquivo de cópia impressa, por exemplo, hardcopy.0 para a tela 0. Parece ser uma maneira mais rápida do que ir Ctrl+ A, :e digitando o impresso de comando.
fonte