Этот вопрос часто задают среди новых пользователей vi/Vim, и ответ таков: в обычном режиме курсор всегда находится "на" символе, а в режиме вставки курсор всегда "между" двумя символами (помните, конец офлайн это персонаж). Вы не можете увидеть это наглядно в консоли Vim, но в графическом интерфейсе вы заметите, что курсор становится полосой между двумя символами, когда вы входите в режим вставки, вместо блока над символом, когда вы находитесь в обычном режиме.
То, что вы видите, - это не обязательно перемещение курсора на один символ назад, когда вы выходите из режима вставки, а просто перемещение на символ. Единственное безопасное направление движения - влево (или назад). Таким образом, у вас есть несколько способов входа в режим вставки:
- "a" входит в режим вставки с курсором "между" символом, на котором был курсор, и следующим символом справа.
- "i" входит в режим вставки с курсором "между" символом, на котором был курсор, и предыдущим символом слева.
Некоторые люди пытались подавить это "движение", которое им не нравится, но оно неизбежно мешает плагинам и другим скриптам Vim, которые они хотят запустить в будущем.
Мое предложение состоит в том, чтобы привыкнуть к использованию команд "a" и "i" (и "A" и "I") в соответствующих обстоятельствах.
Команды "o" и "O" также полезны для изучения. Увидеть:
:help a
:help i
:help A
:help I
:help o
:help O
Изменить: Если вы все еще решили изменить это поведение, попробуйте следующий совет: не допускайте перемещения курсора на один символ влево