Как удалить старый текст в режиме ввода в 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.