Найближче, що оригінал 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
.