Zoxide: Революция в Навигации по Файловой Системе Linux
Сколько драгоценного времени вы тратите на рутинные переходы по сложным и длинным путям в файловой системе? Постоянный набор или копирование команд типа cd /home/user/projects/awesome-project/src/backend/utils/helpers может быть утомительным. А что, если в одном проекте десятки поддиректорий, и приходится полагаться на медленное автодополнение команды cd?
Представляем zoxide — интеллектуальную замену стандартной команды cd, которая автоматически запоминает все директории, в которые вы когда-либо переходили. Теперь достаточно ввести z и часть имени папки, и Linux-утилита мгновенно перенесет вас в нужное место, даже если путь был крайне длинным. zoxide работает значительно быстрее, чем cd с автодополнением, и непрерывно обучается на ваших привычках, предлагая наиболее релевантные варианты.
🟢 Установка zoxide
Выберите наиболее подходящий для вашей системы способ установки:
Для Ubuntu/Debian:
sudo apt install zoxide
Для Arch Linux:
sudo pacman -S zoxide
Для macOS:
brew install zoxide
Универсальный способ (через curl):
curl -sS https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | bash
После успешной установки необходимо инициализировать zoxide в вашей оболочке. Добавьте соответствующую строку в файл конфигурации (.bashrc или .zshrc):
eval "$(zoxide init bash)" # для bash
eval "$(zoxide init zsh)" # для zsh
Для применения изменений перезапустите терминал или выполните команду source ~/.bashrc (или source ~/.zshrc, в зависимости от вашей оболочки).
🟢 Базовое использование (интуитивно и быстро)
zoxide спроектирован быть максимально простым в использовании, превосходя cd по скорости и удобству:
Переход в директорию:
Работает аналогично обычной команде cd, но с функцией обучения:
z ~/projects/awesome
Быстрый переход по части пути:
Теперь достаточно ввести лишь часть имени нужной директории:
z awesome
zoxide самостоятельно определит, куда вы хотели попасть, основываясь на вашей истории и частоте использования.
Выбор из нескольких совпадений:
Если zoxide находит несколько подходящих директорий, он предложит интерактивный выбор:
z awesome
> 1 /home/user/projects/awesome-project
> 2 /home/user/tests/awesome-library
Просто введите номер (1 или 2), чтобы перейти в нужную папку.
Просмотр часто используемых папок:
Для отображения всей базы часто посещаемых директорий используйте:
zoxide query
➕ Преимущества zoxide
- Скорость: Одна короткая команда вместо длинных и сложных путей.
- Самообучение: Система анализирует ваши действия, запоминает наиболее посещаемые папки и предлагает их в первую очередь.
- Интерактивность: В случае неопределенности, zoxide предоставляет удобный список совпадений для выбора.
- Кросс-оболочка: Поддерживается в различных оболочках, включая bash, zsh, fish, PowerShell, и даже на Windows.
➖ Недостатки zoxide
- Требует установки: Необходима первоначальная установка и инициализация.
- Привыкание: Потребуется некоторое время, чтобы привыкнуть использовать
zвместоcd, однако этот процесс обычно проходит очень быстро. - Пустая база: При первом использовании база данных zoxide пуста. Начните активно перемещаться по директориям, чтобы накопить статистику.
🔴 Киллер-фичи zoxide
1. Прыжок по подстроке:
zoxide способен перемещаться, основываясь на части имени директории, даже если вы посещали ее давно или она находится глубоко в структуре. Например, если вы работали с директориями /var/log/nginx, /etc/nginx/sites-available и /home/user/nginx-config:
z nginx
zoxide предложит наиболее часто используемый или последний посещенный вариант.
2. Исключение нежелательных папок:
Если вам больше не нужна определенная директория в базе данных zoxide (например, старый проект), вы можете легко удалить ее:
zoxide remove /old/project
3. Переменные окружения для настройки:
Вы можете тонко настроить поведение zoxide с помощью переменных окружения. Например, для интерактивного выбора при нескольких совпадениях (поведение по умолчанию) можно задать параметры утилиты fzf (если она установлена):
export _ZO_FZF_OPTS="--height 40% --layout reverse"
4. Команда zi для интерактивного выбора с предпросмотром:
Если у вас установлена утилита fzf, вы можете использовать команду zi для более продвинутого интерактивного выбора с удобным предпросмотром:
zi
Эта команда покажет все папки в вашей базе zoxide и позволит быстро выбрать нужную.
Когда что использовать?
- ➡️
zoxide(илиz): Идеален для повседневной навигации, особенно если вы активно работаете с множеством проектов и часто переключаетесь между директориями. - ➡️
cd: Используйте для перехода в совершенно новые папки, которых еще нет в базе zoxide, или в скриптах, где требуется предсказуемое поведение. - ➡️ cd —: Для быстрого возврата в предыдущую директорию.
Лайфхак:
Вы можете создать алиас alias cd='z', если хотите полностью заменить команду cd. Однако рекомендуется сохранить cd для использования в скриптах, а в интерактивном режиме применять z. Это обеспечит гибкость и предсказуемость в bash-скриптах и позволит пользоваться преимуществами zoxide в повседневной работе.
Ссылка на GitHub-репозиторий zoxide
Теперь вместо утомительного cd /home/user/projects/... вы просто набираете z awesome и мгновенно оказываетесь в нужной директории. Это значительно повышает продуктивность, особенно когда число проектов велико, а их имена длинные и труднозапоминаемые. Такая автоматизация навигации — ключ к более эффективной работе в Linux.