Eu sei que o modo diff do Vim ( vimdiff
) permite comparar o conteúdo de dois (ou mais) arquivos.
Mas é possível comparar o conteúdo de vários arquivos entre diretórios para mesclar dois diretórios recursivamente (como DiffMerge e ferramentas similares)?
filesystem
vimdiff
kenorb
fonte
fonte
Respostas:
Há o plugin DirDiff.vim ( GitHub ) para fazer a diferença e mesclar dois diretórios recursivamente.
Uso:
Para mais informações / ajuda:
:help dirdiff
Veja a captura de tela:
Veja também:
Recursivamente comparar e mesclar diretórios? no dedm blog
fonte
Eu uso um script de wrapper
python
para mesclar arquivos (veja abaixo). Esta é uma versão simplificada do que eu uso para mesclar meus~/.vim
diretórios e tal.Deve funcionar em Python 2 e 3; mas provavelmente não em versões muito antigas do Python fornecidas com o CentOS e outras distribuições.
Esteja ciente de que algumas verificações (como a de arquivos binários ou se os arquivos são iguais) não são muito rápidas (ele lê o arquivo inteiro); você pode removê-los se quiser.
Também não informa se a está presente apenas em um dos diretórios ...
fonte
Eu queria o mesmo por um tempo. A melhor solução que encontrei foi usar o vdwrap , que funciona incrivelmente bem. Tudo que faz é envoltório
git difftool --dir-diff
paravimdiff
. Não requer nenhum plug-in vim.Tudo que você precisa fazer é dizer
git difftool
para usarvdwrap
:Na próxima vez que você usar o git difftool, ele abrirá o Vim com guias separadas do Vim para cada par de arquivos.
Uma ressalva é que é um script Zsh. Deve ser bem simples convertê-lo em um script bash, mas ainda não testei.
fonte
Se você quiser apenas usar o vimdiff sem instalar nada extra, o comando a seguir abrirá todos os arquivos diferentes em sucessão, permitindo que você observe as alterações com o vimdiff:
fonte
Existe uma solução leve para isso:
diff dir1 dir2 | vim -R -
com casca.Ele adicionará dobras e comparação lado a lado para arquivos alterados.
fonte