Vim: imprime linhas de buffers ocultos

Vim: imprime linhas de buffers ocultos

Gostaria de ecoar a linha de um buffer oculto sem mover o cursor. Algo assim:

:redir! > /tmp/myfile
:1,$print 3
:redir end

(Quero inspecionar buffers ocultos sem alterar o layout da janela ou a posição do cursor.)

O procedimento acima funciona muito bem para o buffer atual, mas :printnão utiliza um buffer como argumento.

Existe algum comando vim que imprime as linhas em um buffer?

(E FWIW, não posso usar :wporque isso também altera os nomes e números dos buffers abertos.)

Responder1

Você pode acessar linhas de qualquer buffer por meio da getbufline()função. Exemplo:

for line in getbufline(3, 1, '$')
    echo line
endfor

informação relacionada