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 :lvim
comando.
: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>