Tôi đã mở hai tệp. Chúng được mở ở chế độ dọc, bên cạnh tiếp theo. Tôi có thể khác biệt ngay lập tức hai tệp này mà không cần rời khỏi hoặc đóng Vim không?
Tôi đã mở hai tệp. Chúng được mở ở chế độ dọc, bên cạnh tiếp theo. Tôi có thể khác biệt ngay lập tức hai tệp này mà không cần rời khỏi hoặc đóng Vim không?
Câu trả lời:
Để bắt đầu khác biệt trên tất cả các cửa sổ hiển thị:
:windo diffthis
thực thi :diffthis
trên mỗi cửa sổ.
Để kết thúc chế độ khác biệt:
:diffoff!
(Các !
làm cho diffoff
áp dụng đối với tất cả các cửa sổ của tab hiện tại - nó muốn được tốt đẹp nếu diffthis
có tính năng tương tự, nhưng nó không.)
:windo difft[this]
. Tham khảo::help diff
trong mỗi cửa sổ bạn muốn gõ khác nhau:
:diffthis
Nếu bạn muốn khác biệt tất cả các cửa sổ đang mở, bạn có thể làm:
:windo diffthis
( windo
sẽ áp dụng lệnh cho tất cả các cửa sổ đang mở)
Theo dõi các câu trả lời trước đó,
:windo difft
(viết tắt của diffthis
) sẽ bắt đầu chế độ khác biệt trong tất cả các cửa sổ đang mở.:windo diffo
(viết tắt của diffoff
) sẽ dừng chế độ khác biệt trong tất cả các cửa sổ đang mở.Tôi có các ánh xạ sau trong của tôi vimrc
để làm cho nó dễ dàng hơn:
command! Difft windo diffthis
command! Diffo windo diffoff
Tiếp theo các câu trả lời trước đó, tôi đã điều chỉnh ánh xạ do @cxw cung cấp. Ánh xạ sau sẽ tự động đóng NERDTree và thay đổi các cửa sổ đang mở. Không quan trọng nếu NERDTree đóng, nó hoạt động theo cùng một cách. Tôi làm điều này khá thường xuyên vì vậy nó đã giúp tôi tiết kiệm được kha khá thời gian.
command! Difft NERDTreeClose | windo diffthis
:windo
lệnh làm cho nó thậm chí còn tốt hơn. Cảm ơn. Tôi sẽ lập bản đồ để làm cho nó dễ dàng hơn.