Редактирование Vi и положение курсора в конце строки?

Когда я использую vi (который, я думаю, по умолчанию вызывает elvis в Slackware 13.37), я могу вставлять текст, как и ожидалось, но когда я редактирую опечатки, используя ESC x клавиша перемещения курсора l так же как $ помещает курсор на последнюю букву, а не за ее пределами, поэтому вынуждает меня вставлять любой новый текст слева от последней буквы, по существу, приводя к опечатке, если я не удаляю обратно весь путь до пробела. Фактическая клавиша со стрелкой обычно позволяет мне выйти за пределы последней буквы, но не всегда.

Чтобы помочь объяснить, что я делаю:

This is text with a tttypog

Я чиню это с ESC x

This is text with a typog

но ESC l или же ESC $ позволяет мне только переместить курсор на g, заставляя меня вставить любой новый текст только слева от g

This is text with a typoraphicalg

Я делаю что-то неправильно?

2 ответа

Решение

Редактировать: заменен "командный режим" на "нормальный режим" - @Jim Steward: спасибо за указание на эту некорректность

Краткий ответ: если вы находитесь в обычном режиме и хотите вставить текст после нажатия символа a, Нажмите A непосредственно перейти к концу строки и вставить символы после последнего символа. В vi, afaik, невозможно поместить курсор в столбец после последнего символа в текущей строке (если вы находитесь в обычном режиме). В vim, однако, есть опция с именем virtualedit, которая может позволить вам сделать это (см.:help virtualedit).

В vi есть два режима: режим редактирования (по умолчанию) и режим вставки. Команда "i" (без кавычек) переводит вас в режим вставки, а ESC возвращает вас в режим редактирования. Нет необходимости нажимать ESC перед каждой командой, хотя нажатие ESC - это безопасный способ убедиться, что вы находитесь в режиме редактирования, если вы забыли, в каком режиме вы в последний раз работали.

Команда "A" (без кавычек) используется для добавления текста в конце строки.

Другие вопросы по тегам