Veja a diferença de duas janelas verticais abertas no Vim


102

Tenho dois arquivos abertos. Eles são abertos no modo vertical, ao lado do próximo. Posso diferenciar instantaneamente esses dois arquivos sem sair ou fechar o Vim?

Respostas:


154

Para começar a diferenciar em todas as janelas visíveis:

:windo diffthis

que é executado :diffthisem cada janela.

Para encerrar o modo diff:

:diffoff!

(As !marcas se diffoffaplicam a todas as janelas da guia atual - seria bom se diffthistivesse o mesmo recurso, mas não tem.)


O :windocomando o torna ainda melhor. Obrigado. Vou mapear para tornar mais fácil.
Fatih Arslan

1
Essa é uma boa resposta, mas observe que a janela do minibufexplorer deve ser fechada antes desta operação, se aberta. Caso contrário, o diff mostra resultados incorretos.
baldrs

Pode-se usar um alias :windo difft[this]. Ref::help diff
DmitrySandalov

@FatihArslan,: windo diffthis não faz nada no meu caso, apenas deixando no lado esquerdo a coluna cinza ao lado dos números das linhas. Tenho dois arquivos Vim diferentes abertos.
earik87

22

em cada uma das janelas que você deseja diferenciar tipo:

:diffthis

Se você quiser diferenciar todas as janelas abertas, pode fazer:

:windo diffthis

( windoaplicará o comando a todas as janelas abertas)


6

Seguindo as respostas anteriores,

  • :windo difft(abreviação de diffthis) iniciará o modo diff em todas as janelas abertas.
  • :windo diffo(abreviação de diffoff) interromperá o modo diff em todas as janelas abertas.

Tenho os seguintes mapeamentos em meu vimrcpara torná-lo mais fácil:

command! Difft windo diffthis
command! Diffo windo diffoff

3

Seguindo as respostas anteriores, adaptei o mapeamento fornecido por @cxw O mapeamento a seguir fecha automaticamente o NERDTree e diferencia as janelas abertas. Não importa se o NERDTree está próximo, funciona da mesma maneira. Eu faço isso com bastante frequência, então me economizou algum tempo.

command! Difft NERDTreeClose | windo diffthis
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.