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