C'è l'estensione "line" nell'ultimo plug-in Ctrl-P per vim ( ctrlp ) che può eseguire ricerche fuzzy line. È necessario abilitare l'estensione manualmente. Ecco la mia configurazione in .vimrc
:
let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlPLastMode'
let g:ctrlp_extensions = ['buffertag', 'tag', 'line', 'dir']
Dopodiché premi Ctrl-p
per visualizzare il menu, quindi premi Ctrl-f
più volte fino a quando la modalità linea è attiva. Digita ora la tua stringa fuzzy:
AGGIORNAMENTO 27 febbraio 2014
Una soluzione alternativa che sto attualmente usando me stesso sarebbe quella di utilizzare unire . Per eseguire la ricerca di linee fuzzy devi sintonizzare leggermente l'unione:
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>
Ora premi Ctrl-k
e digita:
A proposito, unite può anche eseguire ricerche di file fuzzy per nome.
AGGIORNAMENTO 03 Agosto 2016
Un altro modo di fare la ricerca di linea è usare fzf insieme al plugin vim di accompagnamento . Consulta le istruzioni di installazione qui: https://github.com/junegunn/fzf.vim#installation
Dopo aver installato sia fzf che fzf.vim, è possibile utilizzare :BLines
per cercare le righe nel buffer corrente:
Potresti aver notato che non è esattamente la ricerca fuzzy che significa che ho bisogno di usare gli spazi. Questo potrebbe non funzionare.