Правильные инструменты могут значительно повысить производительность и сделать разработку более приятной. В этой статье приведены инструменты, которые каждый день делают мою жизнь проще.
fish
Моя любимая оболочка командной строки - fish
. По сравнению с более традиционными bash
и zsh
предоставляет богатый функционал из коробки и дружелюбную пользователю конфигурацию:
- автодополнение команд на основе истории - спасает, когда нужно часто вводить похожие команды
- подсветка синтаксиса команд - с одной стороны мелочь, но помогает быстрее понимать есть опечатка в веденной команде или нет
- интеграция с
git
- и многое другое…
ripgrep
ripgrep
- инструмент для рекурсивного поиска заданной строки. Фактически, это аналог grep
с некоторыми преимуществами: он более быстрый, печатает приятный глазу вывод результатов поиска, а также имеет удобную конфигурацию по умолчанию (наприемр, ripgrep
по умолчанию игнорирует файлы из .gitignore
). Примеры:
# поиск функции `create_user` в файлах типа `.py`
rg "def create_user" -tpy
# поиск ошибок в логах docker-контейнеров
docker compose logs | rg "error" -i
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