Existe uma extensão "line" no mais recente plugin Ctrl-P para o vim ( ctrlp ) que pode fazer pesquisa de linha difusa. Você precisa habilitar a extensão manualmente. Aqui está minha configuração em .vimrc
:
let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlPLastMode'
let g:ctrlp_extensions = ['buffertag', 'tag', 'line', 'dir']
Depois disso, pressione Ctrl-p
para exibir o menu e, em seguida, pressione Ctrl-f
várias vezes até que o modo de linha esteja ativado. Digite sua string fuzzy agora:
ATUALIZAÇÃO27defevereirode2014
Umasoluçãoalternativaqueestouusandonomomentoseriausar unir . Para fazer uma pesquisa de linha difusa, você precisa ajustar um pouco:
call unite#filters#matcher_default#use(['matcher_fuzzy'])
call unite#filters#sorter_default#use(['sorter_rank'])
call unite#custom#source('file,file/new,buffer,file_rec,line', 'matchers', 'matcher_fuzzy')
nnoremap <C-k> :<C-u>Unite -buffer-name=search -start-insert line<cr>
Agora pressione Ctrl-k
e digite:
Apropósito,ounitetambémpodefazerpesquisadearquivodifusapelonome.
ATUALIZAÇÃO03deagostode2016
Outramaneiradefazerumapesquisadelinhaéusar
Depois de ter instalado o fzf e o fzf.vim, você pode usar :BLines
para pesquisar linhas no buffer atual:
Você deve ter notado que não é exatamente o significado da pesquisa difusa que preciso usar espaços. Isso pode não funcionar em você.