Это отображение определено в моем vimrc
, оно отображает *
на определение шаблона поиска как того, что выделено в данный момент (экранирование всех потенциально опасных символов и преобразование пробела в том, что подсвечивается, в любую последовательность пробелов)
xnoremap * :<C-U>let old_reg=getreg('"')|let old_regtype=getregtype('"')<CR>gvy/<C-R><C-R>=substitute(substitute(escape(@", '/\.*$^~['), '\s\+', '\\s\\+', 'g'), '\_s\+', '\\_s*', 'g')<CR><CR>gV:call setreg('"', old_reg, old_regtype)<CR>:let v:searchforward=1<CR>
Чтобы использовать его, запустите визуальный режим с v
, затем выделите то, что вы хотите найти, и нажмите *
, а не y
.
Конечно, вы можете сопоставить #
для поиска в обратном направлении (точно так же, за исключением того, что v:searchforward
должно быть установлено в 0.