Tôi nghĩ rằng nó phụ thuộc vào đầu ra lệnh "diff".
Nếu bạn chạy ": help diff-Tùy chọn", bạn có thể thấy một ví dụ về định dạng khác mà Vim mong đợi:
1a2
> bbb
4d4
< 111
7c7
< GGG
---
> ggg
The "1a2" item appends the line "bbb".
The "4d4" item deletes the line "111".
The '7c7" item replaces the line "GGG" with "ggg".
Đối với các thay thế (ví dụ 7c7), tôi nghĩ rằng vimdiff sẽ đặt chúng cạnh nhau và tô màu nó hl-DiffChange (ví dụ: màu tím trong cài đặt mặc định của tôi), sau đó tô sáng văn bản khác trong dòng bằng hl-DiffText (ví dụ: màu đỏ trong cài đặt mặc định của tôi).
Ví dụ: nếu tôi vimdiff hai tệp này:
Tệp 1:
This is common1
This is common2
11111111111111122222222222222222222222222222222222222
This is common4
This is common5
Tệp 2:
This is common1
This is common2
This is a completely different line
This is common4
This is common5
Mặc dù dòng thứ 3 của hai tệp hoàn toàn khác nhau, vimdiff vẫn đặt chúng cạnh nhau.
Một giải pháp hacky có thể đang sử dụng một chương trình tìm khác biệt bên ngoài tạo ra định dạng bạn muốn.
:diffupdate
,vimdiff
"đồng bộ hóa" vị trí của hai tệp có khớp "neo" được thêm vào.