Копировать из одного реестра в другой


93

Как скопировать содержимое одного регистра в другой без вставки в буфер обмена? Я выдернул один текст, и он оказался в "реестре по умолчанию . Теперь я хочу скопировать другой текст без удаления / перезаписи "реестра. Итак, я хочу переместить содержимое "register, чтобы сказать some aили bregister, чтобы я мог скопировать новый текст внутри ". Как это сделать?

Ответы:


117

Чтобы копировать или менять местами значения между регистрами, вы можете использовать команду : let , например, чтобы скопировать содержимое bрегистра в a:

:let @a=@b

Или скопируйте содержимое "реестра в a:

:let @a=@"

Ознакомьтесь с этим советом по Vim, чтобы узнать о некоторых хороших предложениях по сопоставлению клавиш:


1
Почему-то я не могу заставить это работать. У меня довольно минимальный vim на этой машине. Вот некоторые из моих настроек. VIM - Vi IMproved 7.0 (7 мая 2006 г., скомпилировано 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
@Paul, насколько я помню, маленькие и крошечные наборы функций Vim не поддерживают эту :letкоманду.
Christian C. Salvadó

Вы можете объяснить, что @делает?
Gqqnbig 03

@это способ работы с регистрами как с переменными. Подробнее :help let-registerсм. Вы можете просто думать об этом как @aо переменной, в которой aхранится регистр .
cincodenada

7

Вы можете сделать что-то вроде этого:

let @a = getreg('"')

Это скопирует "реестр в aреестр.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.