Cette page est affichée en anglais. Une traduction française est en cours.
ScriptsJul 23, 2026·3 min de lecture

skim — Fast Fuzzy Finder for the Terminal Written in Rust

A Rust implementation of a command-line fuzzy finder with an interactive interface, designed as a fast alternative to fzf with extended matching options.

Prêt pour agents

Installation agent prête

Cet actif peut être installé après choix du runtime, vérification du plan et exécution de la commande adaptée.

Native · 98/100Policy : autoriser
Surface agent
Tout agent MCP/CLI
Type
Skill
Installation
Single
Confiance
Confiance : Established
Point d'entrée
skim Overview
Commande d'installation directe
npx -y tokrepo@latest install 71b9e52e-86b7-11f1-9bc6-00163e2b0d79 --target codex

À exécuter après confirmation du plan en dry-run.

Introduction

skim (command name: sk) is a general-purpose fuzzy finder for the command line, written in Rust. It provides an interactive selection interface similar to fzf, with the added benefit of Rust's memory safety and performance characteristics. skim aims for broad compatibility with fzf's interface while offering its own extensions.

What skim Does

  • Provides interactive fuzzy search over stdin, files, or command output
  • Supports preview windows for displaying file contents or command results alongside matches
  • Handles multi-selection and custom key bindings for workflow automation
  • Includes an interactive grep mode (sk --interactive) that re-executes searches as you type
  • Offers a Rust library crate (skim) for embedding fuzzy-finder functionality in other applications

Architecture Overview

skim is built as a multi-threaded Rust application. The input reader, matcher, and renderer run on separate threads connected via channels. The matching engine uses a scoring algorithm similar to fzf's, with support for exact, prefix, suffix, and inverse matching. The terminal UI is rendered directly using ANSI escape sequences without depending on ncurses.

Self-Hosting & Configuration

  • Install via Homebrew, Cargo, or download pre-built binaries from GitHub releases
  • Shell integration scripts available for bash, zsh, and fish (key bindings and completion)
  • Environment variable SK_DEFAULT_OPTIONS sets default flags globally
  • Configure keybindings with --bind flag or in shell rc files
  • No configuration file required; all options work via command-line flags and environment variables

Key Features

  • Written in Rust for fast startup and low memory footprint
  • Compatible with most fzf command-line flags, making migration straightforward
  • Interactive grep mode re-runs the search command on every keystroke
  • Library crate allows embedding skim's fuzzy matcher in Rust applications
  • Regex matching mode in addition to standard fuzzy matching

Comparison with Similar Tools

  • fzf — the original Go fuzzy finder; more mature ecosystem and shell integrations, but skim matches most features
  • peco — Go-based interactive filter; simpler but lacks preview windows and shell integration
  • fzy — minimal fuzzy finder focused on matching quality; fewer features than skim
  • rofi/dmenu — graphical selection tools for X11/Wayland; skim stays in the terminal
  • telescope.nvim — Neovim fuzzy finder plugin; editor-specific while skim is a general tool

FAQ

Q: Is skim a drop-in replacement for fzf? A: Nearly. Most fzf flags work with sk, and the output format is compatible. Some advanced fzf features (like tmux integration) differ.

Q: Can I use skim as a Rust library? A: Yes. The skim crate on crates.io exposes the fuzzy matching engine and UI components for embedding in Rust programs.

Q: How does performance compare to fzf? A: They are comparable for most workloads. skim tends to use less memory, while fzf may be marginally faster on very large inputs due to Go's garbage collector differences.

Q: Does skim support Windows? A: skim primarily targets Linux and macOS. Windows support is partial and may require WSL for full functionality.

Sources

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires