Vim - Diff
Tương tự như lệnh diff của UNIX, chúng ta có thể sử dụng Vim để hiển thị khác biệt theo cách tốt hơn nhiều. Nó sẽ hiển thị khác nhau theo cách đầy màu sắc. Trong chương này, chúng ta sẽ thảo luận về các mục sau:
- Hiển thị sự khác biệt giữa các tệp
- Kích hoạt và hủy kích hoạt chế độ khác biệt
- Điều hướng ở chế độ khác
- Áp dụng các thay đổi từ cửa sổ khác nhau
Hiển thị sự khác biệt
Để hiển thị sự khác biệt giữa các tệp, hãy thực hiện lệnh dưới đây:
$ vimdiff <file> <file> OR $ vim –d <file> <file>
Ví dụ, lệnh dưới đây hiển thị sự khác biệt -
Trong hình trên, văn bản được đánh dấu bằng màu đỏ tươi là phổ biến. Văn bản còn lại được đánh dấu bằng màu đỏ cho thấy có một số khác biệt sau văn bản chung.
Kích hoạt và hủy kích hoạt chế độ khác biệt
Nếu bạn đã có vim và bạn muốn thực hiện hành động khác, hãy sử dụng một trong các lệnh sau:
diffsplit
Sử dụng lệnh dưới đây để thực hiện chia theo chiều ngang -
:diffsplit filename
Hình ảnh trên cho thấy chúng tôi đang so sánh hai tệp tin là message-1.txt và message-2.txt.
Đèn khuếch tán dọc
Để thực hiện chia theo chiều dọc, sử dụng lệnh sau:
:vert diffsplit <filename>
Nó mở ra cửa sổ sau -
Hình ảnh trên cho thấy chúng tôi đang so sánh hai tệp tin là message-1.txt và message-2.txt.
Điều hướng ở chế độ khác
Điều hướng ở chế độ khác có một chút khác biệt. Ví dụ: khi bạn cuộn văn bản từ một cửa sổ thì văn bản từ cửa sổ liền kề cũng được cuộn theo. Đây được gọi là scrollbind. Để kích hoạt việc sử dụng này -
:set scrollbind
Để vô hiệu hóa việc sử dụng này -
:set noscrollbind
Nếu bạn chỉnh sửa tệp trong chế độ này, hãy sử dụng lệnh sau để cập nhật khác biệt -
:diffupdate
Chuyển đổi giữa các cửa sổ khác nhau
Để chuyển đổi giữa các cửa sổ khác nhau, hãy thực hiện lệnh sau:
Ctrl + w Ctrl + w
Xin lưu ý rằng, chúng ta phải nhấn Ctrl + w 2 lần.
Chuyển đến thay đổi trước đó
Trong cửa sổ khác, thực hiện lệnh sau để chuyển đến thay đổi trước đó:
[c
Chuyển đến thay đổi tiếp theo
Trong cửa sổ khác, thực hiện lệnh sau để chuyển đến thay đổi tiếp theo:
]c
Áp dụng các thay đổi từ cửa sổ khác
Áp dụng thay đổi trong các cửa sổ khác nhau hiện tại
Để áp dụng thay đổi từ cửa sổ khác biệt liền kề sang cửa sổ khác hiện tại, hãy thực hiện -
:diffget
Ví dụ, nếu bạn đang ở cửa sổ bên trái và bạn muốn thay đổi từ cửa sổ bên phải sang cửa sổ hiện tại thì bạn sẽ thực hiện lệnh trên.
Áp dụng thay đổi từ ngăn hiện tại sang ngăn khác
Để áp dụng thay đổi từ cửa sổ khác biệt hiện tại sang cửa sổ khác biệt liền kề, hãy thực hiện -
:diffput
Ví dụ, nếu bạn đang ở cửa sổ bên trái và bạn muốn áp dụng thay đổi từ cửa sổ hiện tại sang cửa sổ bên phải thì bạn sẽ thực hiện lệnh trên.