Câu trả lời:
Ctrl-Cvà Esckhông giống nhau trong vi/ vimtrong hầu hết các chế độ, bao gồm cả chế độ chèn. Sự khác biệt là Esckích hoạt viết tắt trong khi Ctrl-ckhông. Việc này có quan trọng với bạn hay không phụ thuộc vào việc bạn hoặc bất kỳ plugin nào bạn sử dụng có sử dụng chữ viết tắt hay không.
Lưu ý rằng nó là an toàn hơn để đảm nhận Escvà Ctrl-Clàm không có nghĩa là điều tương tự trong vim. Một ví dụ khác từ cùng trang này là khi thoát khỏi chế độ chèn khối (không vào vi).
Tôi nghĩ bạn có nghĩa là vimkhông vi.
Điều này thực sự hoạt động vim, mặc dù tôi sẽ không sử dụng nó trừ khi tôi chắc chắn 100% rằng tôi sẽ không bao giờ chạm vào hệ điều hành không phải là Linux. Lý do là các hệ điều hành khác có thể có các triển khai riêng vi, không thực hiện điều này và bạn có thể thấy rằng khi chạy vitrên các nền tảng đó, Ctrl-C có hành vi truyền thống của riêng mình: làm gián đoạn quá trình và để thiết bị đầu cuối của bạn ở trạng thái kỳ lạ .
vitriển khai nào còn tồn tại đến ngày nay không xử lý Ctrl-Ckhông? Xem câu trả lời của tôi cho sự khác biệt thực sự.
Nếu bạn đang đề cập đến vim, có một sự khác biệt nhỏ. CTRL-Ckhông kiểm tra các chữ viết tắt và nó không kích hoạt InsertLeavesự kiện. Vì vậy, bạn hoặc plugin đã xác định bất kỳ autocmdcâu lệnh nào phụ thuộc vào InsertLeave, chúng sẽ không được kích hoạt.
Từ tài liệu chính thức http://vimhelp.appspot.com/insert.txt.html :
<Esc> or CTRL-[ End insert or Replace mode, go back to Normal mode. Finish
abbreviation.
CTRL-C Quit insert mode, go back to Normal mode. Do not check for
abbreviations. Does not trigger the InsertLeave autocommand
event.
Bạn có thể xác định một ánh xạ cho CTRL-Ctới <esc>, sau đó nó sẽ kích hoạt InsertLeave.
Type :quit<Enter> to exit Vimvà khiến tôi phải tìm lại Google. Đánh trúngisẽ đưa bạn trở lại chế độ chèn.