Просто чтобы расширить ответ MarkB, знаете ли вы, что вы также можете использовать маркеры, чтобы выбрать блок текста для восстановления?
Перейдите к первой строке блока, который вы хотите восстановить, и введите команду отметки после выбора буквы в качестве маркера, например
ma (entered in command mode, i.e. no colon)
затем перейдите к нижней части блока, который вы хотите восстановить, и введите команду:
:'a,.ya A
эта команда означает, что взять блок текста из строки, содержащей мой маркер, называемый a, до текущей строки, и скопировать его в буфер a. Применяются те же правила, что и упомянутый MarkB, используйте имя буфера в нижнем регистре для перезаписи буфера. Используйте имя буфера в верхнем регистре для добавления в буфер. Таким образом, в этом случае это будет добавлено к содержимому буфера a.
NB. «А», используемое для вашего маркера, не имеет ничего общего с «а», используемым для выбора вашего регистра. (AFAIK, но YMMV)
BTW 'a (апостроф a) относится к строке, содержащей маркер a. `a (обратная кавычка a) относится к символу под курсором при вводе ma.
`ad`b (also entered in command mode)
полезен, потому что он удалит текст между символом, отмеченным маркером a, до символа непосредственно перед символом, который вы отметили маркером b.