Já precisou visualizar, de forma rápida, as diferenças entre dois
arquivos de texto? Provavelmente já, mas se não precisou provavelmente
um dia precisará.
A diferença entre o conteúdo de dois arquivos de texto (também conhecida
popularmente como diff) pode ser calculada facilmente com o auxílio de
dois programas do Linux (entre outros):
diff
Considere os dois programas abaixo, a.py:
for n in range(1, 10):
print 'Now n = %d' % n
print 'Finished!'
e b.py:
for n in range(1, 11):
print 'Agora n = %d' % n
print 'Finished!'
Podemos utilizar o programa diff para descobrir quais linhas
desses arquivos são diferentes. Invocamos o programa passando
os arquivos a serem comparados como uma lista de parâmetros,
da seguinte forma:
diff a.py b.py
Teríamos a seguinte saída:
1,2c1,2
< for n in range(1, 10):
< print 'Now n = %d' % n
---
> for n in range(1, 11):
> print 'Agora n = %d' % n
A saída nos indica que as linhas 1 e 2 dos arquivos são diferentes.
Mas não há nenhum destaque para os caracteres que são de fato
as diferenças dessas linhas.
Como o programa diff não possui uma opção como “saída colorida”,
acho que sua utilidade pára por aqui. Mas agora entra o vimdiff.
vimdiff
O vimdiff é um “modo alternativo” do Vim. Ele nos permite editar
duas ou três versões de um arquivo
simultaneamente enquanto nos mostra as diferenças entre elas.
Não precisamos necessariamente editar esses arquivos: o simples
fato de abrir 2 arquivos simultaneamente nesse programa já pode
ser tudo o que precisamos, em algumas situações.
Veja na imagem abaixo como o Vim fica diferente nesse modo vimdiff:

O comando utilizado para abrir o Vim dessa forma foi o seguinte:
vimdiff a.py b.py
Se as cores utilizadas para iluminar as diferenças entre os arquivos
não são as mais bonitas, ao menos o resultado é aquele que esperamos:
agora podemos visualizar claramente as diferenças entre a.py e b.py.
Se nossos arquivos, em vez de 6 linhas possuíssem 600, poderíamos percorrê-los
linha por linha para visualizar as diferenças. Quando o vimdiff encontra
diversas linhas vizinhas sem diferenças para os dois/três arquivos elas são
“comprimidas” com o folding do Vim, para que possamos focar a atenção
apenas nas diferenças, e não nas similaridades.
Para ter o vimdiff disponível no Ubuntu acredito que seja necessário
instalar o pacote vim-full:
sudo apt-get install vim-full