No Vim, o que é uma maneira elegante de pegar a saída da linha de comando?

14

Se eu estiver no Vim e quiser obter alguma saída da linha de comando e colocar no arquivo atual, posso executar isso:

:! echo "foo" >> %

Isso anexará "foo" ao meu arquivo atual e terei que recarregá-lo.

Existe uma maneira mais elegante de fazer isso - ter essa saída em um buffer que eu possa colar, por exemplo?

    
por Nathan Long 01.03.2011 / 21:41

1 resposta

24

Sim:

:r !echo "foo"

Veja

:help :r!

Isso irá inserir a saída do comando após a linha atual. Se você quiser capturar a saída do comando em um registrador que possa colar, você pode fazer isso:

:let @a = system('echo "foo"')

Agora, a saída do comando (incluindo a nova linha final) está no registro a . Veja

:help let-@
:help system()
    
por 01.03.2011 / 22:02

Tags