Pesquisa global no vim

Pesquisar em vários arquivos é uma dor de cabeça, em aplicativos como o Sublime Text você pode usar a opção “localizar nos arquivos” (command-shift-F), mas você também pode fazer isso no vim, usando o :lvimcomando.

:lvim /seach/gj ./**/*.html

Aqui está uma função de wrapper para torná-la mais amigável:

function! GlobalSeach()
let text = escape(input("what do you want to seach?: "), '\/')
if text == ""
echo
"" | return
endif

let extension = escape(input("Wich extension? (* for all): "), '\/')
if extension == ""
echo
"" | return
endif


let search_command = ':lvim /V' . text . '/gj ./**/*.' . extension
try
execute search_command

catch
echo
"Nothing found"
return
endtry


lwindow

endfunction


""" mapping the function to leader-shift-f
noremap <leader>F :call GlobalSeach() <CR>