Das neueste Ctrl-P-Plugin für vim ( ctrlp ) enthält eine "Zeilen" -Erweiterung, mit der Fuzzy-Zeilen gesucht werden können. Sie müssen die Erweiterung manuell aktivieren. Hier ist meine Konfiguration in .vimrc
:
let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlPLastMode'
let g:ctrlp_extensions = ['buffertag', 'tag', 'line', 'dir']
Danach drücken Sie Ctrl-p
, um das Menü aufzurufen, und dann Ctrl-f
mehrmals, bis der Leitungsmodus aktiviert ist. Geben Sie jetzt Ihren Fuzzy-String ein:
UPDATE 27. Februar 2014
Eine alternative Lösung, die ich derzeit selbst verwende, wäre die Verwendung von unite . Um eine Fuzzy-Liniensuche durchzuführen, müssen Sie unite leicht abstimmen:
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>
Drücken Sie nun Ctrl-k
und geben Sie Folgendes ein:
Unite kann übrigens auch nach Namen suchen.
UPDATE 03.08.2016
Eine andere Möglichkeit, eine Liniensuche durchzuführen, besteht darin, fzf zusammen mit dem zugehörigen vim-Plugin zu verwenden . Anweisungen zur Installation finden Sie hier: https://github.com/junegunn/fzf.vim#installation
Nachdem Sie sowohl fzf als auch fzf.vim installiert haben, können Sie :BLines
Zeilen im aktuellen Puffer durchsuchen:
Vielleicht ist Ihnen aufgefallen, dass die Suche nicht genau verschwommen ist und ich Leerzeichen verwenden muss. Dies funktioniert möglicherweise nicht bei Ihnen.
Nicht genau das, was Sie wollen, aber mit
set incsearch
Ihrem Muster wird abgestimmt, wie Sie eingeben. Es ist nicht wirklich Fuzzy Matching, aber das Gefühl ist ähnlich.quelle
incsearch
ist toll, aber nicht das, wonach ich suche.