awesome-repositories.com
المدونة
MCP
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعخادم MCPحولكيفية ترتيب النتائجالصحافة
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
skim-rs avatar

skim-rs/skim

0
View on GitHub↗
6,592 نجوم·239 تفرعات·Rust·mit·10 مشاهدات

Skim

Skim is a cross-platform interactive fuzzy finder that runs as a terminal application, a Rust library, a Vim and Neovim plugin, and a shell integration tool. It provides real-time filtering and selection from lists of items, supporting keyboard and mouse navigation, live preview panes, and multi-select functionality across Linux, macOS, and Windows.

The tool distinguishes itself through a composable query expression tree that supports fuzzy, exact, inverse, prefix, suffix, and logical AND/OR operators, combined with a Smith-Waterman scoring engine that penalizes typos and gaps for natural relevance ordering. It offers a thread-pooled matching pipeline, ANSI-aware parsing that preserves color information, and pseudo-terminal preview execution for interactive commands. Skim can be embedded as a Rust library with custom item types and action callbacks, run as a network service over TCP or Unix sockets, and controlled remotely via Unix domain socket session control.

The interface supports extensive customization of colors, borders, scrollbars, key bindings, and layout, with options to load configuration from files and respect the NO_COLOR environment variable. It integrates with Bash, Zsh, Fish, and Nushell for file selection, history search, and directory navigation, and provides shell completions and man page generation. The tool also supports dynamic command execution, where external commands are invoked with the current query to generate live search results, and offers multiple matching algorithms including Arinae, Fzy, and SkimV2 variants.

Features

  • Fuzzy Finders - A cross-platform fuzzy finder that runs on Linux, macOS, and Windows with native terminal multiplexer popup support.
  • Fuzzy Search Interfaces - Filters and selects items from large lists by typing partial or approximate queries in real time.
  • Backend as a Service - Ships a public Rust API for running interactive fuzzy finder sessions programmatically.
  • Embeddable Fuzzy Finders - Ships a Rust crate that embeds an interactive fuzzy finder with custom item types and callbacks.
  • Fuzzy-Filterable Lists - Matches items against a fuzzy search pattern, ranking results by relevance without requiring exact spelling.
  • Fuzzy Matching - Selects among multiple scoring strategies, including typo-resistant variants, to tune search relevance.
  • Fuzzy Match Score Combiners - Combines scores from multiple matching conditions when using the AND/OR filter engine.
  • Fuzzy Search Engines - Matches items using fuzzy, prefix, suffix, exact, inverse, and combined patterns with AND/OR logic.
  • Directory Navigators - Lets the user browse and select files or directories by typing a partial name or path.
  • File System Navigators - Lets users scroll through and select from lines of a file or command output using a fuzzy search interface.
  • Fuzzy Finder Integrations - Embeds a fuzzy finder as a Rust library for interactive search in other applications.
  • Embeddable - Ships a Rust crate that embeds an interactive fuzzy finder with custom item types and action callbacks.
  • Query-Driven Command Interfaces - Re-executes a shell command each time the query changes, using the query text as a template placeholder.
  • Interactive Fuzzy Finders - Provides real-time fuzzy filtering and selection from lists of items with keyboard navigation.
  • Interactive Text Filters - Processes all input items against a query and prints matching lines to stdout without opening the terminal UI.
  • Shell Command Execution - Reads input items by executing a shell command and streaming its standard output.
  • Shell Integration - Hooks into Bash, Zsh, Fish, and Nushell for file selection, history search, and directory navigation.
  • Shell Key Bindings - Registers keyboard shortcuts in the shell to launch the fuzzy finder with the current command line.
  • Terminal User Interfaces - Provides an interactive fuzzy finder with live preview and customizable key bindings for terminal use.
  • Item Previews - Displays a live preview of the currently highlighted item in a separate panel within the interface.
  • Live Preview Panels - Shows a live preview of the currently highlighted item, optionally running inside a PTY for interactive commands.
  • Fuzzy Query Expression Trees - Parses queries into an AST supporting fuzzy, exact, inverse, prefix, suffix, and logical operators.
  • Approximate Matching Tools - Penalizes typing mistakes in the query instead of blocking them, so approximate matches still appear.
  • Command Output Streamers - Pipes the output of any command into an interactive fuzzy finder so the user can pick one or more results.
  • Search Filters - Presents a scrollable list of items and filters them in real time as the user types a query.
  • Keyboard Navigation - Lets the user move through the filtered list and select an entry using arrow keys or other shortcuts.
  • Rust Library Embeddings - Provides a Rust library API to embed an interactive fuzzy finder into other applications.
  • Smith-Waterman Fuzzy Scorers - Ranks fuzzy matches using a Smith-Waterman algorithm that penalizes typos and gaps.
  • List Search Filters - Lets the user pick one or more items from the filtered list and outputs the selection for further processing.
  • Selection Lists - Lets the user pick one or more items from a filtered list and returns the selection to the calling process.
  • Terminal UI Components - A TUI widget that provides live preview, multi-select, and customizable key bindings for command-line tools.
  • Item Navigation and Selection - Presents an interactive list of items and narrows results as the user types, letting them pick one quickly.
  • Preview Panes - Displays a live preview pane for the focused item, supporting plain text and PTY output.
  • Dynamic Command Execution - Accepts command templates with the query as a variable and executes them to generate live search results.
  • Regular Expressions - Interprets the query as a regex pattern to find items that match the expression.
  • UI Theme Customization - Applies built-in palettes or per-component style overrides for all interface elements.
  • Fuzzy Finder Query Services - Runs a network server that accepts fuzzy search queries and returns results remotely.
  • Auto-Acceptance Behaviors - Automatically accepts the result when exactly one match is found, or exits immediately when no matches exist.
  • Diacritic Normalizers - Ignores diacritics during matching so "cafe" finds "café".
  • Search Result Sorting - Orders fuzzy search results by configurable score, index, position, and length criteria.
  • Query-Driven Command Invocations - Runs external commands with the current query and displays output as the interactive selection list.
  • Custom Key Mappings - Lets users remap the keyboard shortcuts used to navigate and select items within the interactive interface.
  • Custom Selection Actions - Triggers user-defined commands on selected items, such as reloading the list or updating the query.
  • Event Loop Integrations - Integrates the fuzzy finder's event loop with a Tokio runtime for asynchronous control.
  • External Command Execution - Runs shell commands on selected items and uses their output as search sources or action results.
  • Path-Optimized Matchers - Applies a matching scheme optimized for file paths, improving relevance when searching through files.
  • Neovim Plugins - Provides a Neovim plugin that replaces the default fzf with skim for interactive code navigation.
  • Custom Key Action Bindings - Assigns arbitrary shell commands or built-in actions to key presses, including clipboard copy or aborting the session.
  • ANSI Sequence Parsers - Reads ANSI escape sequences in input data and preserves color formatting during display.
  • ANSI Sequence Stripping - Strips ANSI escape codes for matching while preserving original color information in displayed output.
  • ANSI-Preserving Parsers - Strips ANSI escape codes for matching while preserving the original colors and styles in the displayed output.
  • Mouse Selection Support - Provides mouse click selection for items in the interactive fuzzy finder interface.
  • Vim Plugins - Provides a Vim plugin that exposes the fuzzy finder for file and content selection within the editor.
  • Contextual Preview Panels - Displays surrounding lines or custom output for the currently highlighted item in a separate panel.
  • Configuration File Loading - Reads configuration from a specified file path instead of relying solely on command-line arguments.
  • Fuzzy Finder Network Services - Starts a listening server for remote fuzzy search queries and results over TCP or Unix sockets.
  • Unix Socket Interfaces - Accepts external commands over a Unix domain socket to drive a running fuzzy finder session.
  • Native Windows Execution - Runs natively on the Windows operating system without requiring a compatibility layer.
  • Custom Library Action Callbacks - Registers user-defined callbacks that execute when specific events occur during a skim session.
  • Custom File Source Commands - Replaces the default file listing command with a custom command to control which files are searched.
  • Fuzzy Matching - Distributes item scoring across a thread pool for responsive interactive filtering on large lists.
  • Regular Expression Engines - Switches the matching mode to treat the query as a regular expression.
  • Interactive Selector Customizers - Adjusts the appearance, key bindings, and matching logic of the interactive selector through command-line options.
  • Interactive History Navigators - Persists previous queries and interactive-mode commands to disk and recalls them with keyboard shortcuts during a session.
  • Interface Color Schemes - Changes foreground and background colors of interface elements to match personal preferences.
  • Live List Reloads - Replaces the current list of items with a new set without restarting the interface.
  • Match Context Displays - Displays surrounding lines or custom output for the currently highlighted item using a user-defined command.
  • Split Query Matchers - Provides a split-query matching strategy for interactive filtering of list items.
  • Field-Specific Matching - Restricts the fuzzy search to only certain delimited columns of the input data.
  • Multiple Selections - Lets users pick several entries from a filtered list using the TAB key when multi-select mode is active.
  • Pre-Selected Items - Marks specific items as selected when the list first appears, based on index, text content, or a regular expression.
  • Pseudo-Terminal Preview Executions - Runs preview commands inside a pseudo-terminal for correct rendering of interactive programs.
  • Application Appearance Customizers - Adjusts colors, borders, scrollbars, icons, and layout of the search interface.
  • Custom Color Palette Definitions - Applies built-in or custom color palettes to UI elements using ANSI and hex values.
  • Keyboard Shortcuts - Lets users assign keyboard shortcuts to trigger actions like selecting, previewing, or executing commands.
  • External Search Integrations - Passes the current query to an external command like ripgrep and displays its results inside the interactive finder.
  • Customizable Selectors - Provides extensive customization of colors, borders, scrollbars, key bindings, and layout for the interactive selector.
  • System Utilities - Fuzzy finder for the terminal.

سجل النجوم

مخطط تاريخ النجوم لـ skim-rs/skimمخطط تاريخ النجوم لـ skim-rs/skim

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

الأسئلة الشائعة

ما هي وظيفة skim-rs/skim؟

Skim is a cross-platform interactive fuzzy finder that runs as a terminal application, a Rust library, a Vim and Neovim plugin, and a shell integration tool. It provides real-time filtering and selection from lists of items, supporting keyboard and mouse navigation, live preview panes, and multi-select functionality across Linux, macOS, and Windows.

ما هي الميزات الرئيسية لـ skim-rs/skim؟

الميزات الرئيسية لـ skim-rs/skim هي: Fuzzy Finders, Fuzzy Search Interfaces, Backend as a Service, Embeddable Fuzzy Finders, Fuzzy-Filterable Lists, Fuzzy Matching, Fuzzy Match Score Combiners, Fuzzy Search Engines.

ما هي البدائل مفتوحة المصدر لـ skim-rs/skim؟

تشمل البدائل مفتوحة المصدر لـ skim-rs/skim: lotabout/skim — Skim is an interactive text filter and terminal selection tool written in Rust. It functions as a command line… peco/peco — Peco is an interactive text filter and fuzzy finder for the terminal. It serves as a terminal user interface selection… gokcehan/lf — lf is a terminal-based file manager and TUI file explorer that provides keyboard-driven navigation for browsing and… sinelaw/fresh — Zed is a terminal-based code editor built in Rust that provides a full-featured editing experience with familiar… junegunn/fzf — This project is a general-purpose command-line filter that provides an interactive interface for processing standard… cointop-sh/cointop — Cointop is a terminal-based cryptocurrency dashboard that displays real-time market data, prices, and portfolio values…

بدائل مفتوحة المصدر لـ Skim

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Skim.
  • lotabout/skimالصورة الرمزية لـ lotabout

    lotabout/skim

    6,850عرض على GitHub↗

    Skim is an interactive text filter and terminal selection tool written in Rust. It functions as a command line interface utility that processes input streams to isolate specific entries through real-time user queries and sorting. The tool differentiates itself through ANSI compatibility, allowing it to parse color codes and maintain text formatting during the search process. It supports multiple matching strategies, including configurable fuzzy matching algorithms and regular expression integration. The application covers a broad range of capabilities including field-specific filtering, resu

    Rust
    عرض على GitHub↗6,850
  • peco/pecoالصورة الرمزية لـ peco

    peco/peco

    7,892عرض على GitHub↗

    Peco is an interactive text filter and fuzzy finder for the terminal. It serves as a terminal user interface selection tool that filters standard input in real-time using fuzzy matching and regular expressions. The tool preserves and renders ANSI color escape sequences from piped input streams while performing matching logic on plain-text versions. It supports multi-stage filtering, allowing users to freeze result sets to create a new base for subsequent refinements. Capability areas include advanced search filtering with negative matching, multi-item selection, and the ability to pipe selec

    Go
    عرض على GitHub↗7,892
  • gokcehan/lfالصورة الرمزية لـ gokcehan

    gokcehan/lf

    9,340عرض على GitHub↗

    lf is a terminal-based file manager and TUI file explorer that provides keyboard-driven navigation for browsing and organizing files and directories. It operates as a shell-integrated tool that synchronizes the current working directory with the calling shell and supports vi-style keybindings for filesystem operations. The project distinguishes itself through its ability to render images directly in the terminal via the SIXEL graphics protocol and its shell-driven execution model, which allows users to extend functionality using external shell scripts and commands. It also implements a server

    Gofile-managerterminal
    عرض على GitHub↗9,340
  • sinelaw/freshالصورة الرمزية لـ sinelaw

    sinelaw/fresh

    5,914عرض على GitHub↗

    Zed is a terminal-based code editor built in Rust that provides a full-featured editing experience with familiar keybindings, mouse support, and multiple cursors. It runs entirely in the terminal while offering capabilities typically found in graphical editors, including split panes, a command palette, and integrated language server protocol support for real-time diagnostics, completions, go-to-definition, and code actions across multiple languages. The editor distinguishes itself through a plugin system that runs sandboxed TypeScript plugins in a QuickJS runtime, with an asynchronous bridge

    Rustideterminal-basedtext-editor
    عرض على GitHub↗5,914
عرض جميع البدائل الـ 30 لـ Skim→