obtendo a saída do comando em um buffer vim

4

o que eu quero fazer

  1. editando um arquivo
  2. execute '! svn diff%' (ou qualquer outro comando que obtenha o nome do arquivo atual )
  3. colocar a saída em um novo buffer (ou guia)

bônus: não usando um script, como eu trabalho frequentemente em hosts eu não consigo ao meu gosto.

Minha primeira tentativa foi: :tabnew | r !svn diff % , que óbvio não funciona, porque% estará vazio quando for analisado após o comando tabnew.

    
por gcb 21.12.2011 / 07:03

1 resposta

7

Isso deve funcionar:

:tabnew | r !svn diff #

# referencia o buffer anterior, ou seja, o buffer que você tinha aberto antes do :tabnew ser executado.

Ainda melhor é

:tabnew | set buftype=nowrite | r !svn diff #

porque então o vim não vai reclamar quando você fechar a aba, mas isso já é muito para digitar toda hora.

    
por 21.12.2011 / 07:16

Tags