Правильные инструменты могут значительно повысить производительность и сделать разработку более приятной. В этой статье приведены инструменты, которые каждый день делают мою жизнь проще.
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