zoxide: Забудьте про cd — умная навигация в терминале на Rust
Сколько времени вы тратите на ввод длинных путей вроде cd ~/projects/company/client/app-backend/..., судорожно нажимая Tab и пытаясь вспомнить точное название папки? Когда количество проектов переваливает за несколько десятков, навигация в терминале превращается в утомительный квест. В 2026 году продолжать мучить себя стандартной командой cd — это неоправданная трата ресурсов.
zoxide — это «умная» замена cd, написанная на Rust. Она анализирует ваши перемещения по системе, запоминает часто используемые пути и позволяет мгновенно «телепортироваться» в нужную директорию по паре букв. Зашли один раз в /var/log/nginx? Теперь достаточно набрать z nginx, и вы на месте. Забудьте про длинные абсолютные пути.
Установка zoxide
Инструмент доступен в официальных репозиториях большинства дистрибутивов:
# Ubuntu/Debian
sudo apt install zoxide
# Arch Linux
sudo pacman -S zoxide
# Fedora
sudo dnf install zoxide
# openSUSE
sudo zypper install zoxide
# macOS
brew install zoxide
Инициализация в командной оболочке
После установки необходимо добавить строку инициализации в конфигурационный файл вашего шелла (Bash или Zsh):
# Для Bash (~/.bashrc)
eval "$(zoxide init bash)"
# Для Zsh (~/.zshrc)
eval "$(zoxide init zsh)"
Чтобы изменения вступили в силу, перезапустите терминал или выполните source ~/.bashrc. Теперь zoxide начнет собирать базу ваших перемещений.
Базовое использование
Вместо того чтобы вводить полный путь, используйте ключевые слова из названия папки:
# Вместо cd /var/log/nginx
z nginx
# Вместо cd ~/projects/awesome-project
z awesome
# Если есть несколько совпадений — zoxide сам предложит лучший вариант
# Показать список всех запомненных папок
zoxide query -l
# Прыгнуть в папку с интерактивным выбором (если не уверены)
zi
Киллер-фичи, которые экономят время
1. Нечёткий поиск по подстроке
Если вы когда-то посещали /home/user/projects/linux-administration-scripts/tools/backup, вам больше не нужно помнить этот путь. Достаточно z backup. Алгоритм поймет, что вы имели в виду.
2. Ранжирование по частоте и давности (Frecency)
Zoxide использует алгоритм, который учитывает, как часто и как недавно вы посещали директорию. Если вы наберете z doc, вы попадете в ~/Documents, если бываете там чаще, чем в ~/Downloads.
3. Интерактивный выбор через fzf
Команда zi открывает список всех посещенных папок в удобном интерфейсе с живым поиском. Это отличная альтернатива стеку директорий, когда нужно быстро осмотреть историю перемещений.
4. Полная подмена cd
Вы можете сделать привычную команду cd умнее, добавив специальный флаг при инициализации:
eval "$(zoxide init zsh --cmd cd)"
Теперь cd будет работать и как стандартная команда, и как телепорт zoxide.
5. Импорт истории из autojump
Если вы ранее использовали autojump, переезд будет мгновенным:
zoxide import --from=autojump "$HOME/.local/share/autojump/autojump.txt"
6. Управление базой данных
Если папка была удалена или вы больше не хотите видеть её в истории:
zoxide remove /old/project
Преимущества и недостатки
Плюсы:
- Колоссальная экономия времени:
z nginxпротивcd /var/log/nginx— это десятки сэкономленных секунд в день. - Производительность: Благодаря Rust, утилита работает молниеносно.
- Адаптивность: Инструмент обучается на лету и не требует ручной настройки «закладок» для путей.
Минусы:
- Необходимость установки дополнительного пакета (хотя это делается одной командой).
- Эффект «пустой базы»: в первые часы работы zoxide нужно походить по папкам, чтобы он их запомнил.
Лайфхак: Обязательно установите fzf. Тогда команда zi станет невероятно мощным инструментом визуальной навигации.
# Установка fzf
sudo apt install fzf
Что и когда использовать?
z— для повседневной работы и мгновенных прыжков.zi— когда не помните точное название или хотите выбрать из списка.cd— оставьте для скриптов автоматизации.cd -— для быстрого возврата (впрочем, zoxide поддерживает иz -).