Saya tahu bahwa mode diff Vim ( vimdiff
) memungkinkan kami untuk membandingkan konten dua (atau lebih) file.
Tetapi apakah mungkin untuk membandingkan konten beberapa file di seluruh direktori untuk menggabungkan dua direktori secara rekursif (seperti DiffMerge dan alat serupa)?
filesystem
vimdiff
kenorb
sumber
sumber
Jawaban:
Ada plugin DirDiff.vim ( GitHub ) untuk membedakan dan menggabungkan dua direktori secara rekursif.
Pemakaian:
Untuk informasi lebih lanjut / bantuan:
:help dirdiff
Lihat tangkapan layar:
Lihat juga:
Membandingkan dan menggabungkan direktori secara rekursif? di blog dedm
sumber
Saya menggunakan skrip wrapper
python
untuk menggabungkan file (lihat di bawah). Ini adalah versi sederhana dari apa yang saya gunakan untuk menggabungkan~/.vim
dir saya dan semacamnya.Itu harus bekerja di Python 2 dan 3; tetapi mungkin tidak dalam versi Python yang sangat lama seperti yang dikirim dengan CentOS dan beberapa distro lainnya.
Sadarilah bahwa beberapa pemeriksaan (seperti yang untuk file biner, atau jika file-nya sama) tidak terlalu cepat (ini membaca seluruh file); Anda bisa menghapusnya jika mau.
Juga tidak melaporkan jika hanya ada di salah satu direktori ...
sumber
Saya menginginkan hal yang sama untuk sementara waktu. Solusi terbaik yang saya temukan adalah menggunakan vdwrap , yang bekerja dengan sangat baik. Semua hal ini adalah bungkus
git difftool --dir-diff
untukvimdiff
. Tidak memerlukan plugin vim.Yang perlu Anda lakukan adalah memberi tahu
git difftool
untuk menggunakanvdwrap
:Lain kali Anda menggunakan git difftool, itu akan membuka Vim dengan tab Vim terpisah untuk setiap pasangan file.
Peringatan adalah bahwa ini adalah skrip Zsh. Seharusnya cukup sederhana untuk mengubahnya menjadi skrip bash, tetapi saya belum mencobanya.
sumber
Jika Anda hanya ingin menggunakan vimdiff tanpa menginstal tambahan apa pun, perintah berikut akan membuka semua file yang berbeda secara berurutan sehingga Anda dapat melihat perubahan dengan vimdiff:
sumber
Ada solusi ringan untuk itu:
diff dir1 dir2 | vim -R -
di shell.Ini akan menambah lipatan dan perbandingan berdampingan untuk file yang diubah.
sumber