Я хотел бы выдернуть строку в регистре: "{register}y, но без перезаписи того, что было ранее в регистре. Мне часто нужно копировать несмежные строки в регистре, и я хотел бы иногда использовать регистры как стек.
Пример:
line1
line2
line3
Я хочу скопировать line1, поместив на него курсор и введя "ay, затем перейдя на line3 и сделав "ay. Затем, когда я сделаю "ap, будут вставлены ОБЕ line1 И line3.
Возможно ли это без плагинов? с плагинами?





Если вы хотите добавить в именованный регистр, используйте соответствующий символ верхнего регистра. т.е. в вашем примере:
"ayy "Ayy "ap
Есть ли способ добавить в безымянный регистр? (основной)
@Zaffy stackoverflow.com/questions/18536511/…
Чтобы сэкономить людям посещение страницы ^^, ИМО проще использовать именованный регистр. Когда вы набираете «думать, используя регистр а ...», добавляя «А», чтобы зарегистрировать »
Просто чтобы расширить ответ MarkB, знаете ли вы, что вы также можете использовать маркеры, чтобы выбрать блок текста для вашего рывка?
Перейдите к первой строке блока, который вы хотите восстановить, и введите команду пометки после выбора буквы в качестве маркера, например.
ma (entered in command mode, i.e. no colon)
затем перейдите к нижней части блока, который вы хотите восстановить, и введите команду:
:'a,.ya A
эта команда означает, что взять блок текста из строки, содержащей мой маркер, называемый a, до текущей строки, и скопировать его в буфер a. Применяются те же правила, что и упомянутый MarkB, используйте имя буфера в нижнем регистре для перезаписи буфера. Используйте имя буфера в верхнем регистре для добавления в буфер. Таким образом, в этом случае это будет добавлено к содержимому буфера a.
N.B. «А», используемое для вашего маркера, не имеет ничего общего с «а», используемым для выбора вашего регистра. (AFAIK, но YMMV)
BTW 'a (апостроф a) относится к строке, содержащей маркер a. `a (обратная кавычка a) относится к символу под курсором, когда вы вводили ma.
`ad`b (also entered in command mode)
полезен, потому что он удалит текст между символом, отмеченным маркером a, до символа прямо перед, символа, который вы отметили маркером b.
'a, .ya A работает, но когда я пытаюсь поставить галочку перед a -> `a, он говорит: E492: Не команда редактора:` a, .ya A. Помогло бы просто не использовать букву other чем маркер в примере, чтобы было понятно, какая буква какая есть :)
Отлично подходит для создания быстрого списка определений в верхней части файла.