Skim:一个高效的模糊查找工具
skim Fuzzy Finder in rust! 项目地址: https://gitcode.com/gh_mirrors/sk/skim
项目介绍
Skim是一款基于Rust编写的强大而灵活的模糊查找器,旨在简化文件、命令等的导航过程,提高工作效率。它采用了类似于fzf的匹配机制,但由Rust实现,提供了高效且轻量级的搜索体验。通过其简洁的界面和强大的功能,Skim使用户能够快速筛选出所需的文件、文本或命令,支持多种交互方式和自定义配置。
项目快速启动
安装
在终端中,对于不同操作系统,安装Skim的方式有所不同:
-
macOS 用户可以使用Homebrew进行安装:
brew install sk
-
对于其他Linux发行版,可以通过相应的包管理器或手动编译安装。例如,在Fedora上:
dnf install skim
或者选择克隆仓库并自行构建:
git clone --depth 1 https://github.com/lotabout/skim.git ~/skim cd ~/skim cargo install
基本使用
快速启动Skim来查找并打开特定类型的文件,如查找所有扩展名为.rs
的文件,并用Vim打开它们:
vim $(find . -name "*\.rs" | sk -m)
这里 -m
参数允许多选。
应用案例和最佳实践
作为过滤器
在日常工作中,你可以将Skim作为一种高级的“grep”替代,通过管道传递信息:
git log --pretty=format:'%h %ad | %s%d [%an]' --graph | sk
这允许你快速找到特定的提交。
与版本控制工具集成
结合Git,快速筛选并查看历史记录:
sk --ansi -i -c 'git log --oneline | head -n 100'
自动完成与命令执行
利用Skim作为动态命令行自动补全工具,提升输入效率。
典型生态项目与整合
Skim不仅作为一个独立工具闪耀,还可以融入开发者的工作流中。比如:
-
Vim/Neovim插件:通过Vim插件系统集成Skim,提供文件查找、标签跳转等功能。
Plug 'lotabout/skim', {'dir': '~/.vim/bundle/skim', 'do': './install'}
-
与代码搜索工具配合:与
rg
,ag
,ack
,grep
等代码搜索工具搭配,实现快速的内容定位。 -
定制化工作流程:通过自定义键绑定(如:跳转、选择、执行命令)和预览窗口设置,适应不同的开发习惯。
Skim因其高度可定制性,成为众多开发者工具箱中的常客,无论是用于快速文件选取,还是作为命令行交互式查询的一部分,都能大大提升日常工作的流畅度和效率。通过不断地探索和配置,开发者可以挖掘出更多适合自身工作场景的最佳实践。
skim Fuzzy Finder in rust! 项目地址: https://gitcode.com/gh_mirrors/sk/skim