Чтобы поделиться с коллегами, я почистил и обновил свой приватный репозиторий со скриптами и различными конфигами, что собирал какое-то время, и выложил его на гитхаб под названием dev-scritps.
dev-scritps (Linux) — это набор полезных настроек для профиля пользователя, терминала, vim, git. Репо также содержит набор общих скриптов, команд и хоткеев.
Это не абсолютно исчёрпывающий туториал по конфигурации Всего, но настройки, которые я применяю при каждой новой установке Linux. Горячие клавиши (и в vim тоже), которые я нажимаю каждый день; скрипты, которые я писал для разных проектов так много раз, что в конце-концов они превратились в общие, и осели в этом репозитории.
Я думаю, по этой причине репо и является полезным: каждый скриптик и мини-мануал любовно сделаны ручками, нажиты в течении долгих лет и проверены временем.
Про репозиторий я сделал презентацию, в которой кратко рассказано про все разделы, кое-где даже с картинками.
Что лежит в каждой директории
bash/
lib.sh— Общие утилиты, которые подключают другие скриптыlib-text-colors-tools.sh— Утилиты для работы с текстом, удобные переменные для форматированного вывода в терминалbump-module-version.sh— Используется для изменения версий в указанном файле (1.4 => 1.5, 1.4 => 2 и т.п.). Использует bumpversion.file-permissions.sh— Скрипт меняет права на файлы и папки для работы подApachegenerate-changelog.sh— Генерировать changelog на основе тегов гитаuseful-commands.sh— Обновлённый сборник разных полезных команд на баше. Писал статью про эти команды здесь.
bash/db/
dump-db-routine.sh— Старая версия скрипта-дампера структуры ДБdump-db.sh— Обёртка для mysqldump, умеет архивировать файлы и добавлять таймстамп в название
bash/examples/
Скрипты с примерами.
bash/symfony/
run-test.sh— Запускает тесты, линтеры и статический анализ для проекта на Symfony
bash/git/
commit-test-artifacts.sh— Скрипт, который делает коммит с настроенным сообщением. Использую после того, как обновил какие-то частообновляемые и незначительные файлы (например, дампы для snapshot-тестирования сJest), чтобы не писать руками однотипное сообщение каждый раз.hooks/prepare-commit-msg— Пример хука на коммит, пишет в сообщение номер тикета, если он записан в названии текущей ветки
env/
tunings.md— Настройки профиля и терминала. Умная история, цветная командная строка (prompt), ветка гита в текущей директории, другое.git/aliases.md— Алиасы для гита. Кроме общеизвестныхgit st/git co/etc., я использую укороченные версии:ga(git add),gc(git commit) и другие. Чтобы работала автоподстановка названий веток и файлов, нужно правильно настроитьbash-completion, конфиг лежит в конце файла.
Со включения умной истории я начинаю настройку каждого линукса.git/vim.md— Настройки для вима. Кроме более-менее общеизвестных, есть настройка встроенного в редактор файлового менеджера (в боковой панели, как в IDE), открытие файлов в табах или сплитах вместо окон, прочее.
git/
git-commands.md— Сборник команд гита на разные случаиhooks.md— Мини-справка по хукам
hotkeys/
terminal.md— Горячие клавиши для терминалаvim.md— Наиболее часто используемые хоткеи для вима
php/
db— В директории лежит скриптdump-db-structure.php+ конфиг и справка. Я написал этот дампер для того, чтобы получать дампы процедур/функций/представлений и прочее отдельно от дампов структур таблиц, которыеmysqldumpне умеет разделять.symfony/symfony-form-type-gen.php— Бутстраппер для Symfony, умеет генерировать типы форм и некоторые другие структуры на основе указанных опций.








