Nếu phím trước được nhấn là ESC, điều này là do có các phím có thể tạo chuỗi thoát bắt đầu bằng ESC O. Ví dụ, tùy thuộc vào chế độ phím con trỏ, phím mũi tên lên có thể tạo chuỗi thoát ESC O A.
Nếu nó thấy một chuỗi thoát một phần, vim sẽ đợi trong một khoảng thời gian ngắn để xem nếu một ký tự khác được nhận phù hợp với một trong các chuỗi thoát được xác định cho loại thiết bị đầu cuối của bạn. Nếu không nó sẽ coi các ký tự là tổ hợp phím riêng biệt. Bạn có thể kiểm tra điều này bằng cách nhập thủ đô A trong khi chờ đợi dòng mở để xem liệu nó có coi nó như một mũi tên lên thay thế hay không.
Có một số cài đặt vim có thể được sử dụng để kiểm soát điều này. :set ttimeoutlen=100
sẽ thay đổi thời gian chờ chuỗi thoát thành 100ms. :set noesckeys
sẽ vô hiệu hóa hoàn toàn nhận dạng các phím gửi một chuỗi thoát khi ở chế độ chèn. Ngoài ra, chế độ tương thích vi sẽ không gặp phải vấn đề này vì các khóa được tắt trong chế độ đó - đó là lý do tại sao vim -u NONE
hoạt động.
-u NONE
nhưng chúng tôi vẫn thiếu xác nhận từ OP.