Пробел в режиме вставки в vi не стирает символ

Я новичок в vi, на самом деле я начал изучать vi с сегодняшнего дня, и я застрял в поведении клавиши backspace.

На самом деле, когда я впервые запустил vi на своем Ubuntu 12.04, моя клавиша backspace работала нормально, но после этого она начала вести себя странно. Всякий раз, когда я нажимаю пробел в режиме вставки, он просто перемещается на одно место влево вместо стирания символа.

Как я могу вернуть функциональность backspace по умолчанию? Пожалуйста, обратите внимание, что я не хочу устанавливать vim или устанавливать nocompatibilty.

Вот самое простое решение.
Откройте терминал, перейдите в домашний каталог и введите

vi .vimrc

теперь откройте новый файл, добавьте эти строки в файл и завершите работу, сохранив

$ set nocompatible$ set backspace=2

Это правильное поведение для vi, и оно действительно стирает символ, просто не показывает его, заменяя пустым, как в vim. Это станет очевидным, когда вы замените стертый символ другим символом или вернетесь в командный режим.

Например. начиная с командного режима в пустой строке, следующее приведет к строке, содержащей fo:

ifooBackspaceEsc

Прежде чем вы попадете в Esc ключ, строка будет читать foo, но последний o был помечен как "столбец стирания". Видеть http://pubs.opengroup.org/onlinepubs/9699919799/utilities/vi.html#tag_20_152_13_88 (в основном пункт 4 под этим заголовком, а также просмотрите немного ниже, чтобы прочитать о <Control>-H)

Вам нужно перейти в режим "вставить", переместив курсор с помощью i. Существуют и другие способы прямого удаления символов. Вы можете скачать powerpoint, который я использую при проведении занятий по VI здесь.

Похоже, вы находитесь в "командном" режиме. Чтобы переместить курсор:
H = Слева, J = Вверх, K = Вниз, L = Правильно

Как только вы разместите курсор, вы сможете удалить текст следующего содержания:
x Удаляет символ под курсор
X Удаляет символ до курсор
dw Удаляет из курсора к следующему слову
dd Удаляет линия курсор включен.

К введите текст, вы можете использовать один из режимов ввода текста.
a Добавляет текст к право курсора
A Добавляет текст к конец текущей строки
i Добавляет текст к левый курсора
I Добавляет тест к начинаю текущей строки
o Открывает новую строку ниже текущая строка и переводит вас в режим ввода текста
O Открывает новую строку Выше текущая строка и переводит вас в режим ввода текста

Чтобы выйти из режима ввода текста и вернуться в командный режим, используйте Esc.

К Отменить изменения: (Любимый ученик)
u Отменить последняя команда вошел
U Отменить все изменения к текущей строке ****

Чтобы Сохранить/ Выйти::w Записывает (сохраняет) файл и остается открытым
:wq Записывает (сохраняет) файл и выходы англ.
:q Выходы (Выходы) если вы не внесли никаких изменений
:q! Выходы (Выходы) без сохранения изменения
ZZ Записывает (сохраняет) файл и выходы VI (такой же, как :wq)

Установите полный пакет vim, чтобы получить функциональность backspace и клавиш со стрелками

sudo apt-get updatesudo apt-get install vim