Tôi đã đọc Vimdiff và Viewing differences with Vimdiff cộng thực hiện tìm kiếm google khác nhau sử dụng những câu như "vimdiff nhiều", "vimdiff git", "vimdiff lệnh" vvHow Do You Get các bufspec Trong khi sử dụng vimdiff Qua Git
Khi sử dụng do hoặc diffg Tôi nhận được lỗi "Nhiều hơn hai bộ đệm trong chế độ khác, không biết cái nào để sử dụng".
Khi sử dụng diffg v: fname_in Tôi nhận được "Không có bộ đệm phù hợp cho v: fname_in".
Từ các tài liệu vimdiff:
: [phạm vi] diffg [et] [bufspec]
Sửa đổi bộ đệm hiện tại để hoàn tác khác biệt với một đệm. Nếu [bufspec] được đưa ra, bộ đệm đó được sử dụng. Nếu [bufspec] đề cập đến bộ đệm hiện tại thì không có gì xảy ra. Nếu không, điều này chỉ hoạt động nếu có một bộ đệm khác ở chế độ khác nhau .
và nhiều hơn nữa:
Khi 'diffexpr' không phải là trống rỗng, Vim đánh giá để có được một tập tin khác trong các định dạng đề cập. Các biến này được thiết lập để các tên tập tin được sử dụng:
v: fname_in tập tin gốc
v: phiên bản mới fname_new của cùng một tập tin
v: fname_out kết quả diff tập tin
Vì vậy, tôi cần phải nhận được tên của bufspec, nhưng các biến mặc định (fname_in, fname_new và fname_out) không được đặt.
Tôi chạy lệnh git mergetool trên hộp linux thông qua thiết bị đầu cuối.
[Chỉnh sửa] Giải pháp một phần đưa ra nhiều câu hỏi hơn. Tôi đã sử dụng "tên tệp" ở cuối bộ đệm. Nó chỉ là một câu trả lời một nửa, bởi vì đôi khi tôi nhận được một tập tin không tồn tại lỗi. Tôi tin rằng nó luôn là phiên bản từ xa của tập tin "không tồn tại". Tôi nghi ngờ điều này có liên quan đến git và lập chỉ mục.
Làm thế nào để bạn nhận được giá trị bufspec nhất quán trong khi sử dụng vimdiff thông qua git-mergetool?
Vì vậy, sử dụng: diffget và bất cứ điều gì là nhân vật kết hợp sau dấu chấm thứ hai? –
Thật tuyệt vời. Bạn sẽ nghĩ rằng sẽ dễ đoán. Đoán tôi đã nhận được quá khó chịu để xem một cái gì đó rất đơn giản. * thở dài * Cảm ơn bạn Cảm ơn bạn! –