it-swarm-pt.tech

Comparando dois arquivos no Vim

É possível visualizar dois arquivos lado a lado no Vim? Se sim, como posso configurar meu editor para fazer isso e existe uma maneira de diff entre os dois arquivos no Vim?

Estou ciente do :next e :prev comandos, mas não é isso que eu estou procurando. Seria realmente bom ver os dois arquivos em conjunto.

65
Zaid

Abra a vista lado a lado:

Ctrl+w v

Mudar entre eles:

Ctrl+w h or l

Faça o checkout do comando vimdiff, parte do pacote vim, se você deseja uma visualização semelhante a diff:

vimdiff file1.txt file2.txt
46
maxschlepzig

Você também pode abrir o vim no modo de tela dividida, com a opção -O: -

vim -O file1 [file2 ...]

Para ativar o modo diff, você precisa executar o comando :diffthis Em cada painel.

Outro cenário de caso de uso é se você já tem um arquivo aberto no vim e deseja abrir e compará-lo com outro. Em seguida, você pode usar os seguintes comandos do vim: -

:vs otherfile (open otherfile in vertical split screen)
:diffthis (turn on diff mode in original file)
Ctrl+w l  (swap to newly opened file)
:diffthis (turn on diff mode in opened file)

Você pode desativar o modo diff em cada painel com o comando vim :diffoff.

EDITAR
E o outro padrão que não foi mencionado: -

vim -d file1 [file2 ...]

Isso é equivalente a chamar vimdiff diretamente.

44
Alex Leach

Você também pode usar o comando vimdiff.

Exemplo:

vimdiff file1.txt file2.txt
9
Ákos Kovács

Ou simplesmente abra o primeiro arquivo no VIM e, em seguida, :vert diffsplit file2 :vert faz com que a tela seja dividida verticalmente.

diffsplit faz uma comparação e divide os arquivos e rola os bloqueios.

4
Dustin