Skim - ваш новый must-have инструмент для поиска в терминале
Представьте: вы работаете с большим проектом и вам нужно быстро найти файл среди сотен других. Обычный grep или find могут помочь, но требуют точного ввода и не всегда удобны. Именно эту проблему решает Skim — быстрый и умный fuzzy finder, написанный на Rust.
Что такое Skim?
Skim (от словосочетания "SK IMproved") — это интерактивный инструмент для поиска и фильтрации текста в терминале. Он работает по принципу "нечеткого" (fuzzy) поиска — вам не нужно вводить точное название, достаточно нескольких букв из разных частей слова.
Основное преимущество перед традиционными инструментами:
- Интерактивность — результаты обновляются по мере ввода
- Гибкость — ищет даже по неполным и неточным запросам
- Интеграция — работает с 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, у него есть несколько преимуществ:
- Написан на Rust — быстрее и безопаснее
- Поддержка предварительного выбора
- Улучшенный алгоритм fuzzy-поиска
- Более гибкая настройка цветовых схем
Когда стоит использовать Skim?
Вот несколько типичных сценариев:
- Быстрый поиск файлов в проекте
- Навигация по истории команд
- Интерактивный поиск по результатам grep/ag/rg
- Выбор нескольких файлов для обработки
# Пример: открыть выбранные .rs файлы в Vim
vim $(find . -name "*.rs" | sk -m)
Итог
Skim — это тот инструмент, который незаметно становится незаменимым в повседневной работе. После пары дней использования вы удивитесь, как раньше обходились без него.
Попробуйте Skim, если:
- Работаете в терминале
- Часто ищете файлы или текст
- Хотите ускорить рабочий процесс
- Любите удобные инструменты с открытым исходным кодом
Установка занимает минуту, а выгода — на годы вперёд. Как говорится в девизе проекта: "Life is short, skim!"
