Existe uma maneira de abrir o buffer de rolagem do terminal da tela no vim?

3

Estou procurando uma maneira de soltar o mouse, para sempre e sempre. Cheguei a um ponto muito confortável, onde eu não uso para edição de texto regular, no entanto, algo está me incomodando. Quando eu trabalho com o shell e quero copiar alguma saída anterior, eu preciso destacar + copiar usando o mouse. Isso é uma merda. Eu sei sobre screen e 'Ctrl-A [', é legal, mas eu quero navegar no pergaminho no Vim, não na interface interna da Tela.

Existe uma maneira de eu abrir o buffer de saída do shell atual no Vim e copiar dele?

    
por Valentin Radu 03.11.2017 / 22:11

1 resposta

4

Dentro de uma janela de tela, execute

screen -X hardcopy -h s
vim s
rm s

hardcopy -h envia o pergaminho para um arquivo temporário que você pode abrir no Vim, se desejar. Se você script isso você deve usar um nome de arquivo temporário adequado:

#!/bin/sh
scrollback_file=$(mktemp)
screen -X hardcopy -h "$scrollback_file"
vim -c 'call delete(@%)' "$scrollback_file"

(Ou você pode simplesmente rodar seu shell no Emacs ou no Neovim.)

    
por 03.11.2017 / 22:52