skim
Fuzzy finder written in Rust with interactive search capabilities and shell integration
Skim is a fuzzy finder that provides a single executable called sk for quickly searching and selecting items from lists. It can operate as both a command-line filter (similar to grep) and an interactive interface for selecting files, directories, or command outputs. The tool supports standard fuzzy matching, exact matching, regex patterns, and various search operators including AND/OR logic.
The tool integrates with popular search utilities like ripgrep, ag, ack, and grep through its interactive mode, where commands are dynamically executed based on user input. Skim includes comprehensive shell bindings for Bash, Zsh, and Fish that provide keyboard shortcuts for file selection (Ctrl-T), command history search (Ctrl-R), and directory navigation (Alt-C). It also supports tab completion with ** expansion.
Skim provides extensive customization options including custom keymaps, color schemes, and preview windows. It can be used as a Vim/Neovim plugin, integrated into shell workflows, or consumed as a Rust library. The tool supports multi-selection mode, field-based matching, and various output formats for different use cases.
Installation
# via Homebrew
brew install sk
# via Cargo
cargo install skim
# via Arch Linux
pacman -S skim

Alternatives & related tools
television
Fuzzy finder for the terminal that searches files, text, git repositories, and custom data sources in real-time
rga
Line-oriented search tool that extends ripgrep to search inside PDFs, archives, documents, and multimedia files
sad
Batch file search-and-replace tool that shows a diff preview before writing changes; optional fzf selection of hunks and delta/diff-so-fancy colorizing.
ast-grep
CLI for structural code search, lint, and rewriting that matches tree-sitter AST nodes using patterns written as ordinary code. Written in Rust.
fd
Fast filesystem search tool that replaces find with regex patterns and smart defaults
add a badge to your README
Maintain skim? Show that it's featured on trmn. The badge links back to this page.
[](https://www.trmn.sh/tools/skim?utm_source=badge)<a href="https://www.trmn.sh/tools/skim?utm_source=badge"><img src="https://www.trmn.sh/badge/skim.svg" alt="Featured on trmn" height="20"></a>