Предположим, у меня есть такой документ, и я хочу найти все вхождения URL:
Vim resources: [http://example.com/search?q=vim][q]
...
[q]: http://example.com/search?q=vim
Я не хочу печатать его полностью, поэтому я помещунаведите курсор на первый URL и запустите "uyi[
, чтобы вставить его в регистр 'u'.Теперь, чтобы найти его, я бы просто вставил содержимое этого регистра в поле поиска, выполнив:
/\V<c-r>u<CR>
В результате Vim ищет строку 'http:' - потому что '/ 'символ заканчивает поле поиска.
Я могу обойти проблему, выполнив это вместо:
/\V<c-r>=escape(@u, '\/')<CR><CR>
Но это много печатать!
Как я могусоздать сопоставление для командной строки Vim, которое упрощает этот рабочий процесс?
Мой идеальный рабочий процесс будет выглядеть примерно так:
- нажмите
/\V
, чтобы вызвать запрос поиска, и используйте очень неловкоmode - нажмите ctrl-x, чтобы активировать пользовательское отображение (ctrl-x доступен)
- Vim прослушивает следующее нажатие клавиши ... (нажатие
<Esc>
отменит) - нажатие на 'u' приведет к удалению содержимого регистра 'u' и вставке в командную строку