Итак, как вы видите от других, то, что вы просите, не существует в Vi (AFAIK).
Отмена отменяет, каким было ваше последнее действие. Если вашим последним действием было войти в режим вставки, а затем добавить строку и выйти из режима вставки. Это будет отменено, однако, если из режима по умолчанию вы нажмете клавишу «x», вы удалите 1 символ или, если в визуальном режиме с выделенным текстом текст будет удален. Если вы нажмете «Отменить», то вы восстановите один выбранный символ или текст.
... Вы должны думать об этом как о действии, и действия могут быть атомарно отменены или восстановлены
Как упоминалось ранее, если вы хотите удалить предыдущее слово, вы можете нажать Ctrl + w и удалить предыдущее слово, оставаясь в режиме вставки.
Если вы выйдете из режима вставки, вы можете переместиться (движение) назад по слову с помощью «b», переместить слово с помощью «w» в конец слова с помощью «e», и можете вырезать (что оставляет вас в режиме вставки) с "c" или удалить с "d". Оба действия вырезать и удалить могут принять движение после них, так что вы можете удалить текущее слово / до следующего слова с помощью "dw" или вырезать предыдущее слово с помощью "cb"
Эта концепция становится более полезной, когда вы не забываете использовать «.» команда (в обычном режиме). Эта команда должна повторить последнее действие. Я использовал это много раз, чтобы найти и заменить небольшую группу слов в файле (это особенно полезно, если вы параноидально настроены изменить слишком много). Сценарий будет следующим:
Файл:
Это мой пост
действительно это тест
это середина
Это конец
если бы я хотел заменить «есть» на «был», я мог бы написать:
% S / \ <есть \> / WAS / г
однако, если бы я хотел изменить первую строку и третью строку «есть» на «было» (и я не знал их номера строк, и я хотел посмотреть, есть ли другие места, которые я хотел бы изменить, чтобы я мог напечатать
"/ Есть"
нажимайте "n" до тех пор, пока я не достигну места, которое я хочу заменить, а затем нажмите "cw" и введите "was"
Теперь я могу нажимать «n», пока не достигну другого места, которое я хочу заменить, и нажать «.», И это заменит «is» на «was» (Примечание: моя строка поиска не ограничивалась словом «is», просто два символа «is», поэтому «This» и «this» в этом случае будут совпадать)