У меня странная проблема с vim в Ubuntu. Я использовал его последние несколько недель, пытаясь научиться, в Windows, и теперь, когда я использую его в Linux, он ведет себя по-другому.
Я заметил, что в режиме вставки нажатие клавиши Backspace удалит текст, как и любой другой редактор в Windows, но в Linux текст «удаляется», но остается там, пока я не нажму ESC или не напишу поверх него.
Я пытался это исправить, но я не понимаю, является ли это предполагаемым поведением или нет. Это происходит и в gvim.
Однако причина этого вопроса заключается в следующем:
Я удалил свой файл .vimrc, чтобы увидеть, была ли какая-либо ошибка в моей конфигурации, и это исправлено. Backspace теперь вернулся к своему обычному состоянию.
Но затем я попытался создать пустой файл .vimrc, и это заставило его вернуться к отложенному удалению. Пусто. Почему, черт возьми?
Так что я понятия не имею, что вызывает это. Надеюсь, мой вопрос имеет смысл, мой английский не самый лучший. Спасибо.
Итак, глядя на совместимость с :h, я нашел это:
«Когда во время запуска Vim обнаруживается файл |vimrc| или |gvimrc|, этот параметр отключается, и все параметры, которые не были изменены, будут установлены на значения по умолчанию для Vim. По сути, это означает, что когда |vimrc | или |gvimrc|, Vim будет использовать значения по умолчанию для Vim, в противном случае будут использоваться значения по умолчанию для Vi (Примечание: этого не происходит ни для общесистемного файла vimrc или gvimrc, ни для файла, указанного с |- аргумент u|).
Так что, если я правильно понимаю, запуск Vim с файлом .vimrc должен автоматически установить nocompatible, а запуск его без файла должен установить совместимость...? Как бы то ни было, я попытался проверить совместимость с :verbose set? и он всегда говорит, что несовместимость включена, поэтому флаг -N ничего не должен делать ... Тем не менее, это решает проблему.