W najnowszej wtyczce Ctrl-P dla vima ( ctrlp ) istnieje rozszerzenie „linii”, które może wykonywać wyszukiwanie linii rozmytych. Musisz włączyć rozszerzenie ręcznie. Oto moja konfiguracja w .vimrc
:
let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlPLastMode'
let g:ctrlp_extensions = ['buffertag', 'tag', 'line', 'dir']
Następnie naciśnij, Ctrl-p
aby wyświetlić menu, a następnie naciśnij Ctrl-f
kilkakrotnie, aż zostanie włączony tryb linii. Wpisz teraz swój rozmyty ciąg:
AKTUALIZACJA 27 lutego 2014 r
Alternatywnym rozwiązaniem, z którego obecnie korzystam, byłoby skorzystanie z unite . Aby przeprowadzić wyszukiwanie linii rozmytych, należy delikatnie dostroić unite:
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>
Teraz naciśnij Ctrl-k
i wpisz:
Nawiasem mówiąc, Unite może również wyszukiwać rozmyte pliki według nazwy.
AKTUALIZACJA 03 sierpnia 2016
Innym sposobem wyszukiwania linii jest użycie fzf wraz z dołączoną wtyczką vim . Zobacz instrukcje instalacji tutaj: https://github.com/junegunn/fzf.vim#installation
Po zainstalowaniu zarówno fzf, jak i fzf.vim, możesz użyć :BLines
do wyszukiwania linii w bieżącym buforze:
Być może zauważyłeś, że nie jest to dokładnie rozmyte wyszukiwanie, co oznacza, że muszę używać spacji. To może nie działać.