Vim - Dif

Semelhante ao comando diff do UNIX, podemos usar o Vim para mostrar o diff de uma maneira muito melhor. Ele vai mostrar diff de maneira colorida. Neste capítulo, discutiremos os seguintes itens -

  • Mostrar diferenças entre arquivos
  • Ative e desative o modo diff
  • Navegação em modo diff
  • Aplicando alterações da janela de diferenças

Mostrar diferença

Para mostrar as diferenças entre os arquivos, execute o comando abaixo -

$ vimdiff <file> <file> 
OR 
$ vim –d <file> <file>

Por exemplo, o comando abaixo mostra diferenças -

Na imagem acima, o texto destacado na cor magenta é comum. O texto restante é destacado em vermelho, o que indica que há algumas diferenças após o texto comum.

Ative e desative o modo diff

Se você já está no vim e deseja executar a ação diff, use um dos seguintes comandos -

diffsplit

Use o comando abaixo para realizar a divisão horizontal -

:diffsplit filename

As imagens acima mostram que estamos comparando dois arquivos, a saber, mensagem-1.txt e mensagem-2.txt.

Diffsplit vertical

Para realizar a divisão vertical, use o seguinte comando -

:vert diffsplit <filename>

Abre a seguinte janela -

As imagens acima mostram que estamos comparando dois arquivos, a saber, mensagem-1.txt e mensagem-2.txt.

Navegação em modo diff

A navegação no modo diff é um pouco diferente. Por exemplo, quando você rola o texto de uma janela, o texto da janela adjacente também rola. Isso é chamado de scrollbind. Para habilitar este uso -

:set scrollbind

Para desativar este uso -

:set noscrollbind

Se você editar o arquivo neste modo, use o seguinte comando para atualizar o diff -

:diffupdate

Alternar entre a janela de diferenças

Para alternar entre as janelas de diferenças, execute o seguinte comando -

Ctrl + w Ctrl + w

Observe que temos que pressionar Ctrl + w 2 vezes.

Pular para a mudança anterior

Na janela diff, execute o seguinte comando para pular para a alteração anterior -

[c

Pule para a próxima mudança

Na janela diff, execute o seguinte comando para pular para a próxima mudança -

]c

Aplicar as alterações da janela de diferenças

Aplicando a mudança nas janelas de diferenças atuais

Para aplicar a mudança da janela diff adjacente às janelas diff atuais, execute -

:diffget

Por exemplo, se você está na janela esquerda e deseja fazer a mudança da janela direita para a janela atual, você executará o comando acima.

Aplicar a mudança do painel atual para outro

Para aplicar a mudança da janela diff atual para a janela diff adjacente, execute -

:diffput

Por exemplo, se você está na janela esquerda e deseja aplicar a mudança da janela atual para a janela direita, então você executará o comando acima.