2012-11-07 24 views
8

Tôi đã làm :vert diffsplit file1.txt, sau đó nhận ra tôi không muốn phân biệt nó nhưng một tệp khác. Vì vậy, tôi đã đóng một cửa sổ với :q và tắt tính năng đánh dấu khác bằng :diffoff."Hơn hai bộ đệm trong chế độ khác" - Làm thế nào để bạn tắt khác biệt về bộ đệm?

Sau đó, tôi đã thử :vert diffsplit file2.txt, nhưng bây giờ nếu tôi cố gắng dp hoặc do để đặt/nhận thay đổi, tôi nhận được lỗi E101: More than two buffers in diff mode, don't know which one to use.

Làm cách nào để tránh điều này hoặc tôi đang làm gì sai?

Trả lời

11

Bạn nên tắt chế độ khác cho bộ đệm không mong muốn bằng cách :diffofftrước khi bỏ nó bằng :q. Tùy thuộc vào cài đặt của bạn (ví dụ: :set hidden), bộ đệm sẽ vẫn tồn tại trong danh sách bộ đệm (:ls) và Vim sẽ xem xét khi thực hiện một khác biệt.

A :bufdo diffoff nên tắt khác biệt cho tất cả các bộ đệm hiện có, mặc dù tôi thường bỏ Vim và khởi chạy lại bằng vimdiff ... nếu tình huống như vậy phát sinh.

+0

đôi khi tôi đến diffs trong gvim với nhiều tab khác mở. Giải pháp bình thường của tôi cho vimdiff chỉ là để bỏ thuốc lá, nhưng đối với gvim đó không phải là lý tưởng. Cảm ơn! – keflavich

+2

Trước khi bỏ bất kỳ cửa sổ nào thực hiện lệnh ': diffoff!' Hoặc ': diffo!'. Thao tác này sẽ chuyển chế độ khác cho tất cả các cửa sổ trong trang tab hiện tại. Xem ': h: diffo' –

+0

Tôi đã cố gắng thực hiện: diffoff! và nó vẫn không hoạt động. Phải làm: buffo diffoff. Một khi tôi đã làm điều đó, tôi thấy rằng bộ đệm trong phân chia bên trái của tôi vẫn còn trong chế độ khác. Vì vậy, trên bộ đệm mà tôi đã làm một: diffoff và sau đó đã có thể làm: diffthis trong hai bộ đệm khác thành công và thực hiện thay đổi. – Brian

1

Đây có thể là loại trả lời trễ nhưng vẫn cho tương lai feference

tôi làm

:tabdo diffoff! 
Các vấn đề liên quan