Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Command-Line Apps
  3. skim

skim

MITRustv4.7.0

A fast and versatile fuzzy finder written in Rust, designed to quickly navigate files, lines, and commands.

Visit WebsiteGitHubGitHub
6.8k stars249 forks0 contributors

What is skim?

Skim is a command-line fuzzy finder written in Rust that enables rapid filtering and selection of text, files, and command outputs. It serves as a smarter alternative to traditional tools like grep, integrating seamlessly into shell environments and editors to boost productivity by reducing time spent navigating digital environments.

Target Audience

Developers and command-line users who frequently navigate files, search through codebases, or manage shell history and want a fast, keyboard-driven interface for filtering and selection. It is particularly useful for Vim/Neovim users seeking efficient file and buffer navigation.

Value Proposition

Developers choose Skim for its speed, flexibility, and extensive customization options, including multiple search modes (fuzzy, exact, regex), typo-resistant algorithms, and seamless shell and editor integrations. Its interactive mode and preview window provide a powerful, intuitive workflow not always available in alternatives.

Overview

Fuzzy Finder in rust!

Use Cases

Best For

  • Filtering and selecting files from command output (e.g., using with find to open files in Vim)
  • Searching through codebases interactively with tools like ripgrep, ag, or ack
  • Enhancing shell productivity with key bindings for file selection (Ctrl-T), history search (Ctrl-R), and directory navigation (Alt-C)
  • Integrating fuzzy finding into Vim or Neovim workflows as a plugin for file and buffer navigation
  • Customizing and scripting selection workflows with advanced features like preview windows and external command execution
  • Handling large datasets efficiently with multiple matching algorithms, including typo-resistant options like frizbee and arinae

Not Ideal For

  • Users who prefer graphical user interfaces over command-line tools for file navigation and search
  • Teams already deeply integrated with fzf and reliant on its specific command-line flags, community scripts, and muscle memory
  • Environments with strict dependency management where installing Rust or additional system packages is prohibitive or restricted
  • Simple, one-off search tasks where a basic grep or find command suffices without the need for interactive filtering or customization

Pros & Cons

Pros

High Performance Algorithms

Leverages Rust-based algorithms including typo-resistant options like frizbee and arinae, ensuring fast and accurate matching even on large datasets, as demonstrated in the benchmarks section.

Versatile Search Syntax

Supports multiple search modes (fuzzy, exact, regex) with a flexible query system borrowed from fzf, allowing for complex filtering without leaving the interface, as detailed in the Search Syntax section.

Seamless Shell Integration

Provides built-in key bindings for shells (Bash, Zsh, Fish) like Ctrl-T for file selection and Ctrl-R for history search, enabling rapid workflow acceleration directly from the terminal.

Advanced Customization

Offers extensive customization for key maps, color schemes, and preview windows, allowing users to tailor the tool to specific preferences, as shown in the Keymap and Color Scheme sections.

Cons

Steeper Configuration Learning

Customizing key bindings, search algorithms, and preview commands requires understanding Skim-specific syntax and options, which can be more complex than simpler fuzzy finders.

Smaller Third-Party Ecosystem

Compared to fzf, Skim has fewer community-contributed plugins and integrations, which might limit out-of-the-box functionality in some environments or require custom scripting.

Potential Flag Incompatibilities

Implements features differently from fzf, leading to inconsistencies in command flags and behavior that may disrupt workflows for users migrating from fzf, as noted in the Differences from fzf section.

Open Source Alternative To

skim is an open-source alternative to the following products:

f
fzf

Frequently Asked Questions

Quick Stats

Stars6,838
Forks249
Contributors0
Open Issues15
Last commit5 days ago
CreatedSince 2016

Tags

#search#productivity#shell-integration#terminal#command-line-tool#cli#fuzzy-finder#fuzzyfinder#rust#vim-plugin

Built With

r
ratatui
R
Rust

Links & Resources

Website

Included in

Command-Line Apps19.2k
Auto-fetched 1 day ago

Related Projects

fzffzf

:cherry_blossom: A command-line fuzzy finder

Stars80,921
Forks2,804
Last commit1 day ago
ripgrepripgrep

ripgrep recursively searches directories for a regex pattern while respecting your gitignore

Stars64,877
Forks2,597
Last commit3 days ago
fdfd

A simple, fast and user-friendly alternative to 'find'

Stars43,270
Forks1,072
Last commit2 days ago
ast-grepast-grep

⚡A CLI tool for code structural search, lint and rewriting. Written in Rust

Stars14,405
Forks393
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub