Skim - ваш новый must-have инструмент для поиска в терминале

07 авг 2025
6,968
258
28
2 недели

Представьте: вы работаете с большим проектом и вам нужно быстро найти файл среди сотен других. Обычный grep или find могут помочь, но требуют точного ввода и не всегда удобны. Именно эту проблему решает Skim — быстрый и умный fuzzy finder, написанный на Rust.

Что такое Skim?

Skim (от словосочетания "SK IMproved") — это интерактивный инструмент для поиска и фильтрации текста в терминале. Он работает по принципу "нечеткого" (fuzzy) поиска — вам не нужно вводить точное название, достаточно нескольких букв из разных частей слова.

Демонстрация работы Skim

Основное преимущество перед традиционными инструментами:

  • Интерактивность — результаты обновляются по мере ввода
  • Гибкость — ищет даже по неполным и неточным запросам
  • Интеграция — работает с grep, ag, rg и другими инструментами

Ключевые возможности

1. Умный поиск

Skim понимает разные типы запросов:

Реклама
  • text — нечеткий поиск
  • ^music — поиск по началу строки
  • .mp3$ — поиск по окончанию
  • 'wild — точное совпадение
  • !fire — исключающий поиск

Пример комбинированного запроса:

# Найти файлы, которые содержат "src" и "main", но не содержат "test"
src main !test

2. Интеграция с shell

Skim предлагает удобные байндинги для популярных оболочек:

  • Ctrl-T — выбрать файл
  • Ctrl-R — поиск в истории команд
  • Alt-C — переход в выбранную директорию

Для настройки достаточно добавить в ваш .bashrc или .zshrc:

source <(sk --shell bash)

3. Превью файлов

Одна из самых полезных функций — просмотр содержимого файла прямо в интерфейсе:

sk --preview "cat {}"

4. Поддержка Vim/Neovim

Для любителей Vim есть специальный плагин, который интегрирует Skim в ваш редактор:

Plug 'skim-rs/skim', { 'dir': '~/.skim', 'do': './install' }

Установка

Skim доступен через большинство пакетных менеджеров:

| Система | Команда установки | |--------------|------------------------| | macOS (brew) | brew install sk | | Arch Linux | pacman -S skim | | Fedora | dnf install skim |

Или через Cargo:

cargo install skim

Чем Skim лучше fzf?

Хотя Skim вдохновлен fzf, у него есть несколько преимуществ:

  1. Написан на Rust — быстрее и безопаснее
  2. Поддержка предварительного выбора
  3. Улучшенный алгоритм fuzzy-поиска
  4. Более гибкая настройка цветовых схем

Когда стоит использовать Skim?

Вот несколько типичных сценариев:

  1. Быстрый поиск файлов в проекте
  2. Навигация по истории команд
  3. Интерактивный поиск по результатам grep/ag/rg
  4. Выбор нескольких файлов для обработки
# Пример: открыть выбранные .rs файлы в Vim
vim $(find . -name "*.rs" | sk -m)

Итог

Skim — это тот инструмент, который незаметно становится незаменимым в повседневной работе. После пары дней использования вы удивитесь, как раньше обходились без него.

Попробуйте Skim, если:

  • Работаете в терминале
  • Часто ищете файлы или текст
  • Хотите ускорить рабочий процесс
  • Любите удобные инструменты с открытым исходным кодом

Установка занимает минуту, а выгода — на годы вперёд. Как говорится в девизе проекта: "Life is short, skim!"

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.