Il y a une extension "ligne" dans le dernier plugin Ctrl-P pour vim ( ctrlp ) qui peut faire une recherche de ligne floue. Vous devez activer l'extension manuellement. Voici ma config en .vimrc
:
let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlPLastMode'
let g:ctrlp_extensions = ['buffertag', 'tag', 'line', 'dir']
Après cela, vous appuyez sur Ctrl-p
pour afficher le menu, puis appuyez Ctrl-f
plusieurs fois jusqu'à ce que le mode ligne soit activé. Tapez votre chaîne floue maintenant:
MISE À JOUR 27 février 2014
Une autre solution que j'utilise actuellement serait d'utiliser unite . Pour effectuer une recherche de ligne floue, vous devez régler légèrement unir:
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>
Maintenant, appuyez sur Ctrl-k
et tapez:
Soit dit en passant, unite peut également effectuer une recherche de fichiers flous par nom.
MISE À JOUR 03 août 2016
Une autre façon de faire une recherche en ligne est d'utiliser fzf avec le plugin vim qui l' accompagne . Voir les instructions d'installation ici: https://github.com/junegunn/fzf.vim#installation
Après avoir installé fzf et fzf.vim, vous pouvez utiliser :BLines
pour rechercher des lignes dans le tampon actuel:
Vous avez peut-être remarqué que ce n'est pas exactement une recherche floue, ce qui signifie que je dois utiliser des espaces. Cela peut ne pas vous fonctionner.
Pas exactement ce que vous voulez, mais
set incsearch
votre motif correspond à votre frappe. Ce n'est pas vraiment une correspondance floue, mais le sentiment est un peu similaire.la source
incsearch
est super, mais pas ce que je recherche.