Есть ли какой-нибудь простой / быстрый способ "выдернуть" регистр "последнего поиска" vim ("/)?"
Из документации vim видно, что ответ отрицательный, но его можно назначить с помощью команды let:
It is writable with ":let", you can change it to have 'hlsearch' highlight
other matches without actually searching. You can't yank or delete into this
register.
В идеале я хотел бы сделать что-то вроде:
"/5yw
который выдернет следующие 5 слов под курсором и поместит их в последний буфер поиска
В качестве альтернативы, если есть способ поиска содержимого именованного регистра, это тоже сработает. Другими словами, если бы я мог:
"A5yw
а затем найдите то, что находится в регистре A, это тоже сработает.
Самое близкое, что я могу сделать, - это вставить именованный регистр, а затем скопировать этот регистр в последний регистр поиска, например
"A5yw
:let @/=@A
Рискуя сделать длинный вопрос длиннее, я хочу заявить, что не всегда я хотел бы «выдернуть и выполнить поиск» не всегда 5 слов - иногда это 17 символов, иногда до конца строки и т. Д. поэтому жестко запрограммированный макрос не дает мне той гибкости, которую я хотел бы.