Câu trả lời:
Có thể thực hiện việc này mà không cần plugin bằng w
lệnh, vì vậy nội dung bộ đệm có thể được sử dụng trong lệnh shell:
:w !diff -au "%" - > changes.patch
( %
được thay thế bằng đường dẫn của tệp đang được chỉnh sửa, -
đọc bộ đệm từ stdin)
diff -u "%" -
vì diff
hiểu một dấu gạch ngang có nghĩa là đọc từ stdin
Bạn cũng có thể lọc các đệm thông qua diff
bằng cách sử dụng %!
cú pháp:
:%! diff -au "%" -
Điều này sẽ lấp đầy bộ đệm với diff, thay vì ghi nó vào đĩa; bạn có thể muốn thiết lập readonly
để bạn không vô tình ghi lại bản gốc một cách tình cờ (OTOH, đó không phải là vấn đề nghiêm trọng vì bạn có tệp dưới sự kiểm soát phiên bản, phải không? ). Tất nhiên, nó giúp có lệnh nghịch đảo:
:%! patch -o - "%"
Điều đó biến đổi diff của bạn trở lại tập tin sửa đổi.