главная

24 марта 2025 г.

Полезные CLI-инструменты

Правильные инструменты могут значительно повысить производительность и сделать
разработку более приятной. В этой статье приведены инструменты, которые каждый
день делают мою жизнь проще.

fish

Github - https://github.com/fish-shell/fish-shell

Моя любимая оболочка командной строки - fish. По сравнению с более
традиционными bash и zsh предоставляет богатый функционал из коробки и
дружелюбную пользователю конфигурацию:

ripgrep

Github: https://github.com/BurntSushi/ripgrep

ripgrep - инструмент для рекурсивного поиска заданной строки. Фактически, это
аналог grep с некоторыми преимуществами: он более быстрый, печатает приятный
глазу вывод результатов поиска, а также имеет удобную конфигурацию по умолчанию
(наприемр, ripgrep по умолчанию игнорирует файлы из .gitignore). Примеры:

# поиск функции `create_user` в файлах типа `.py`
rg "def create_user" -tpy

# поиск ошибок в логах docker-контейнеров
docker compose logs | rg "error" -i

zoxide

Github: https://github.com/ajeetdsouza/zoxide

zoxide - более умная замена команде cd, которая запоминает посещенные вами
папки и позволяет прыгать между ними, вводя лишь название папок (а не полный
путь). Примеры:

# перемещает в ~/Projects/js/blog
$ z blog
# перемешаяет в ~
$ z

entr

Github: https://github.com/eradman/entr

entr помогает запускать нужные команды при изменение файлов. Например, если я
хочу запускать линтер mypy каждый раз, когда изменяется любой .py файл в
папке ./src, я могу воспользоваться следующей командой:

$ ls ./src/**/*.py | entr mypy ./src