当前位置: 首页 > Linux

vim-clap:高性能现代模糊搜索插件

时间:2023-04-06 23:00:55 Linux

今天分享一下我目前写的最满意的Vim插件:https://github.com/liuchengxu/vim-clap,它是一个fuzzysearch搜索搜索的Vim插件是同类中第一个同时支持neovim的floating_win和vim的popup的插件,这也是我造这个轮子的初衷之一。早期作为纯vimscript实现的Vim插件,vim-clap在进行大规模搜索时自然会出现严重的性能问题,但由于该插件是使用Rust扩展的,所以现在已经没有性能问题了,您可以轻松面对数以百万计的文件搜索。同时,vim-clap还提供二进制文件供直接下载,并提供便捷的安装方式。如果你使用vim-plug:"TocompileRustextensionlocally,youneedtoinstallcargoPlug'liuchengxu/vim-clap',{'do':':Clapinstall-binary'}"如果你加!,那么当cargo做的时候本地不存在,直接下载GitHubRelease上提供的二进制插件'liuchengxu/vim-clap',{'do':':Clapinstall-binary!'v0.6的一些新特性:g:clap_layout支持弹出g:clap_layout控制窗口的位置,现在默认位置是相对于调用clap的窗口,大小也是相对于的大小窗户。g:clap_layout模拟neovim的API,如果你想打开相对于整个编辑器的位置而不是窗口:letg:clap_layout={'relative':'editor'}宽度更宽:letg:clap_layout={'width':'95%','col':'5%'}g:clap_themevim-clap的UI非常丰富。默认情况下,颜色是从用户的配色方案中提取的,因此它可以适应各种主题。但是即使自适应也不能保证对所有主题都适用,而且貌似很多人都不太会配置主题,所以v0.6内置了主题material_design_dark。当自适应性能不好时,可以使用内置主题:letg:clap_theme='material_design_dark'也可以改变material_design_dark的部分颜色,比如将搜索文本改为红色:letg:clap_theme={'search_text':{'guifg':'red','ctermfg':'red'}}还有一些其他的改进,见https://github.com/liuchengxu/vim-clap/releases/tag/v0.6,比如新的loclistprovider,很多linters可以将信息填充到location列表中,现在可以很方便的通过vim-clap过滤和查看错误信息,并且支持预览功能:其他很多功能就不一一介绍了,详见https://github.com/liuchengxu/vim-clap/blob/master/README.md和https://github.com/liuchengxu/vim-clap/blob/master/CHANGELOG.md。