Pesquise por texto selecionado visualmente no vim

Este é um pequeno mapeamento que descobri que pesquisa o arquivo em busca de texto selecionado visualmente.

Acho que isso é muito útil quando você está procurando por algo um pouco maior do que algumas palavras. Desta forma, você apenas entra no modo visual , seleciona um monte de coisas e, em seguida, pressiona ***** para pesquisar o arquivo dessa seleção (ou # para pesquisar para trás).

Tudo que você precisa é o seguinte mapeamento em seu arquivo .vimrc :

" Search for selected text, forwards or backwards.
vnoremap <silent> * :<C-U>

let old_reg=getreg('"')<Bar>let old_regtype=getregtype('"')<CR>

gvy/<C-R><C-R>=substitute(

escape(@"
, '/.*$^~['), '_s+', '\_s\+', 'g')<CR><CR>
gV
:call setreg('"', old_reg, old_regtype)<CR>
vnoremap
<silent> # :<C-U>
let old_reg
=getreg('"')<Bar>let old_regtype=getregtype('"')<CR>
gvy
?<C-R><C-R>=substitute(
escape
(@", '?.*$^~['), '_s+', '\_s\+', 'g')<CR><CR>
gV:call setreg('"', old_reg, old_regtype)<CR>

A formatação parece um pouco estranha aqui no coderwall, mas apenas copie e cole e deve funcionar bem.

Aproveitar!