Я только что скачал GVIM для ПК и MacVIM для Mac, и у них обоих поведение отличается от VIM, который я использовал в MSYS.
Вот проблема. Я поднимаю файл в VIM и вхожу в режим вставки. Я больше не могу удалить любой старый текст. Я могу вставить новый текст и удалить их просто отлично, так что я знаю, что мои клавиши возврата и удаления работают. Что еще более раздражает, если я переместлю курсор на другую строку и вернусь к своей исходной, новый набранный текст также станет неустранимым.
Командная строка VIM позволяет мне удалять старый текст в режиме вставки, но версии GUI этого не делают. Я посмотрел в настройках и погуглил, но ничего не придумал.
Кто-нибудь знает, как заставить версию GUI вести себя как версия VIM для командной строки?
Проверьте вывод
:set backspace?
Скорее всего, будет сказано что-то вроде
backspace=indent,eol
Это означает, что вы можете нажать клавишу Backspace, чтобы удалить символы конца строки и сделать отступ. Чтобы иметь возможность удалить текст, который присутствовал до того, как вы перешли в режим вставки, вам нужно добавить «начало».
:set backspace=indent,eol,start
Это эквивалентно
:set backspace=2
Подробнее см.
:help 'backspace'
Vi в msys — это старая версия vim. (5.8.9 в msys 1.0.10). Так что либо значения по умолчанию изменились, либо вы используете другой файл настроек для gvim, чем для msys.