Как я могу легко перечислить содержимое регистров перед вставкой?

10

Я часто использую регистры для копирования / вставки, но я всегда забывал, в каком регистре находится мой контент.

Есть ли способ отобразить регистры перед вставкой?

В идеале это оставило бы регистр на экране при выборе того, который мы хотим.

nobe4
источник

Ответы:

14

Этот плагин peekaboo очень хорош для предварительного просмотра регистров. Когда вы нажимаете "или @в обычном режиме, или ctrl-rв режиме вставки, откроется разделение, чтобы показать вам содержимое регистра.

Предварительный просмотр из репозитория плагина:

игра в прятки

Томми А
источник
Этот плагин был бы намного менее неприятным, если бы привязки клавиш настраивались пользователем. Привязка к "и @в обычном режиме прерывает практически все макросы, которые используют регистры. FWIW.
Сато Кацура
Хм, у меня нет проблем с рекурсивными макросами, которые я использую, даже с регистрами. Плагин отключается при воспроизведении макросов с помощью @. README отмечает, что нерекурсивные карты вызовут проблемы. Я согласен, что было бы неплохо, если бы его можно было настроить для просмотра только регистров.
Томми А
Вот что-то тривиальное, что ломается::%g/text/ normal "Ayy
Сато Кацура
Плагин был обновлен для использования настраиваемого префикса. github.com/junegunn/vim-peekaboo/pull/41
Томми А,
6

Я составил это отображение, чтобы отобразить список регистров и выбрать тот, который нужно вставить:

nnoremap "p :reg <bar> exec 'normal! "'.input('>').'p'<CR>

Это отобразит список регистров :regи выполнит обычную команду

"Xp 

Где Xрезультат input().

nobe4
источник
2

Я бы порекомендовал использовать

:reg

Он покажет содержимое всех регистров (вы можете пролистывать, используя j и k).

Если вы просто хотите показать содержимое одного регистра, вы можете перейти в командный режим и набрать

: Ctrl + r

затем регистр, например регистр х

x

который вставит содержимое регистра в командную строку. После этого вы можете выйти из командной строки после просмотра вашего реестра.

DoYouEvenCodeBro
источник
Какая разница между :disа :reg? Я всегда использую первое.
Филип Кернс
Нет: :help :dis->:di[splay] [arg] Same as :registers. {not in Vi}
Болдевин