Answers:
最新的vim Ctrl-P插件中有“行”扩展名(ctrlp),可以执行模糊行搜索。您需要手动启用扩展。这是我的配置.vimrc
:
let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlPLastMode'
let g:ctrlp_extensions = ['buffertag', 'tag', 'line', 'dir']
之后,按Ctrl-p
进入菜单,然后按Ctrl-f
几次,直到线路模式打开。现在输入您的模糊字符串:
更新2014年2月27日
我目前正在使用的另一种解决方案是使用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>
现在按Ctrl-k
并输入:
顺便说一句,unite还可以按名称进行模糊文件搜索。
更新2016年8月3日
进行行搜索的另一种方法是将fzf与随附的vim插件一起使用。请参阅此处的安装说明:https : //github.com/junegunn/fzf.vim#installation
在同时安装了fzf和fzf.vim之后,可以用来:BLines
在当前缓冲区中搜索行:
您可能已经注意到,这并不是完全模糊的搜索,这意味着我需要使用空格。这可能对您不起作用。
并非完全符合您的要求,但set incsearch
键入时会与您的模式匹配。这并不是真正的模糊匹配,但感觉有点相似。
incsearch
很棒,但不是我要找的东西。