Копіювати з одного реєстру в інший


92

Як скопіювати вміст одного реєстру в інший, не вставляючи в буфер обміну? Я вирвав один текст, і він вирвався у "реєстрі за замовчуванням . Тепер я хочу скопіювати інший текст без видалення / перезапису "реєстру. Тому я хочу перенести вміст "реєстру, щоб сказати дещо, aабо bзареєструватись, щоб я міг скопіювати новий текст всередину ". Як це зробити?

Відповіді:


115

Щоб скопіювати або поміняти місцями значення між регістрами, ви можете використовувати команду : let , наприклад, щоб скопіювати вміст bреєстру в a:

:let @a=@b

Або скопіюйте вміст "реєстру до a:

:let @a=@"

Ознайомтеся з цією порадою Vim, щоб отримати кілька хороших пропозицій щодо зіставлення ключів:


1
Якось я не можу змусити це працювати. Я маю досить мінімальний vim на цьому mcahine. Ось деякі мої налаштування. VIM - Vi IMproved 7.0 (2006, 7 травня, складений 5 березня 2011 21:36:07) Включені виправлення: 1, 3-4, 7-9, 11, 13-17, 19-26, 29-31, 34-44 , 47, 50-56, 58-64, 66-73, 75, 77-92, 94-107, 109, 202, 34-237 Складено <bugzilla@redhat.com> Крихітна версія без графічного інтерфейсу.
Пол

1
@ Пол, наскільки я пам'ятаю, маленькі та крихітні набори функцій Vim не підтримують :letкоманду.
Крістіан С. Сальвадо,

Ви можете пояснити, що @робить?
Gqqnbig 03.03.18

@- це спосіб роботи з регістрами як змінними. Детальніше :help let-registerдив. Ви можете просто думати про це як @aпро змінну, де aзберігається регістр .
cincodenada

7

Ви можете зробити щось подібне:

let @a = getreg('"')

Це скопіює "реєстр до aреєстру.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.