Самая близкая вещь, которую оригинал vi
имеет к множественным отменам (кроме U
которых может отменить многократные изменения в пределах одной строки), является пронумерованными регистрами, которые содержат девять самых последних изменений или удалений.
Если вы положили из нумерованного регистра, последующие точечные команды будут увеличивать этот регистр, когда он повторяет команду.
Например, со следующим текстом с линией курсора, обозначенной >
,
aaaa
> bbbb
cccc
dddd
eeee
команда dd..
приведет к:
aaaa
> eeee
Если вы наберете "1P
, vi поместит самое последнее удаление из реестра "1
:
aaaa
> dddd
eeee
Нажав, .
вы поместите содержимое следующего самого последнего регистра, выполнив "2P
, и нажав еще .
раз, поместите содержимое регистра "3
.
Короче говоря, "P..
вернет весь удаленный текст, оставив вас
aaaa
> bbbb
cccc
dddd
eeee
Не блестяще, но лучше, чем ничего! Более полезно использовать его в начале или конце буфера, чтобы быстро проверить, что находится в ваших пронумерованных регистрах. Тогда вы можете легко удалить то, что вам не нужно.
Это задокументировано в vim под :help redo-register
.