Как удалить старый текст в режиме ввода в GVIM

Я только что загрузил GVIM для ПК и MacVIM для Mac, и они оба по-разному относятся к VIM, который я использовал в MSYS.

Вот проблема. Я открываю файл в VIM и вхожу в режим вставки. Я больше не могу удалить какой-либо старый текст. Я могу вставить новый текст и удалить их просто отлично, поэтому я знаю, что мое backspace и удаленные ключи работают. Что еще более раздражает то, что если я переведу курсор на другую строку и вернусь к исходному, новый текст, который я набрал, также станет неуязвимым.

Командная строка VIM позволяет мне удалять старый текст в режиме вставки, но в версиях графического интерфейса нет. Я посмотрел варианты и искал в googled, но ничего не придумал.

Кто-нибудь знает, как я могу заставить версию GUI вести себя как версия командной строки VIM?

Ответ 1

Проверьте вывод

:set backspace?

Скорее всего, он скажет что-то вроде

backspace=indent,eol

Это означает, что вы можете удалять обратное пространство для удаления по концам строки и отступов. Чтобы иметь возможность удалять текст, который присутствовал до того, как вы вошли в режим вставки, вам нужно добавить "start".

:set backspace=indent,eol,start

Это эквивалентно

:set backspace=2

Подробнее см.

:help 'backspace'

Ответ 2

vi в msys - это более старая версия vim. (5.8.9 в msys 1.0.10). Таким образом, либо изменения по умолчанию были изменены, либо вы используете другой файл настроек для gvim, чем для msys.