В зависимости от характеристик вашей терминальной программы, когда вы нажимаете клавишу курсора, она отправляет последовательность символов, начинающуюся с клавиши ESC. Например, клавиша «Стрелка вверх» отправляет три символа ESC [A. Если vim находится в режиме ввода, нажатие клавиши курсора может прекратить режим ввода, когда ESC виден, и последующие символы могут быть интерпретированы как команды vim. Поскольку он выходит из режима ввода, вам нужно снова нажать i, чтобы продолжить вставку текста. Возможно, это то, что происходит с тобой.
Проверьте, есть ли в вашем терминале параметры, которые могут изменить эмуляцию, например VT-100, VT-220, или параметр, который указывает, что отправляется при нажатии клавиш Backspace или Del. Изменение этих настроек может привести к желаемому поведению. Если вы используете командную консоль Windows, вы, вероятно, не получите эти опции.
Возможно, вам придется избегать использования клавиш курсора в режиме ввода. Нажмите ESC для выхода из режима ввода, затем переместите курсор, затем снова нажмите i, чтобы получить больше информации. Вот как нам, старожилам, пришлось сделать это, прежде чем vim стал достаточно умным, чтобы интерпретировать клавиши курсора в режиме ввода.
ESC
и нажатиемi
?