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.