Я потратил слишком много часов на изучение репозиториев «точечных файлов» на GitHub в надежде добавить ярлыки или небольшие улучшения в мою личную настройку.

В сети уже есть множество ресурсов для управления и настройки ваших собственных точечных файлов, но я хотел задокументировать свои собственные лучшие практики в надежде, что кто-то другой сможет извлечь уроки из моего опыта.

Это руководство предназначено для разработчиков, использующих macOS, и предназначено для начинающих. Тем не менее, я надеюсь, что даже опытные разработчики смогут почерпнуть несколько советов и рекомендаций по ходу дела.

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

Что такое точечные файлы?

Если вы не знакомы с точечными файлами, давайте начнем с этого. Dotfiles - это небольшие файлы конфигурации, которые можно найти в системах * nix, которые позволяют настраивать эту систему в соответствии с вашими личными предпочтениями. Эти файлы обычно имеют имена, начинающиеся с ., и поэтому скрыты в стандартных списках каталогов.

Домашнее пиво

Homebrew позиционируется как отсутствующий менеджер пакетов для macOS (или Linux) и заслужил свою репутацию в этом качестве. Это важно и, скорее всего, первое, что устанавливает разработчик при настройке новой машины.

Homebrew позволяет вам легко устанавливать / обновлять инструменты и даже приложения из интерфейса командной строки, запустив brew install <formula>.

Установка

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

sudo xcode-select --install

Затем вы можете установить Homebrew, выполнив простую команду установки на веб-сайте Homebrew:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Настройка вашего $ PATH

Ваша система $PATH - это просто список каталогов (разделенных :). Когда вы вводите команду в терминал, ваша система просматривает эти каталоги и ищет программу, соответствующую этой команде.

По умолчанию Homebrew устанавливает инструменты в /usr/local/bin, поэтому вы должны убедиться, что этот каталог находится в начале вашего $PATH.

Этот шаг выполняется за вас в последних версиях macOS, но он важен для правильной работы инструментов, установленных вместе с Homebrew. Если вы используете версию macOS до 10.14 Mojave, выполните следующую команду, чтобы добавить место установки Homebrew в ваш $PATH:

echo 'PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile

Примечание. Установка Homebrew и приведенная выше команда настроят $PATH для оболочек Bash. Мы будем устанавливать Zsh в следующем разделе - и, следовательно, нам также нужно будет настроить наш $PATH там.

В качестве альтернативы - для опытных пользователей - вы можете вставить /usr/local/bin в начало файла /etc/paths, чтобы изменить порядок путей глобальной системы по умолчанию (для всех пользователей / командных интерпретаторов). Окончательный результат должен выглядеть примерно так:

/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

Общие инструменты

Вот небольшой список общих инструментов, которые я обычно устанавливаю вместе с Homebrew, чтобы вы могли начать работу - не стесняйтесь устанавливать только те, которые вам нужны:

# Core
brew install git
brew install coreutils
brew install pygments
# PHP
brew install php
brew install composer
# JavaScript
brew install node
brew install yarn

iTerm2

Хорошо, это не полностью связано с точечными файлами, но я настоятельно рекомендую заменить приложение Apple Terminal по умолчанию, если вы еще этого не сделали.

ITerm2 - это мой выбор на замену, который я использовал в течение многих лет. Это открытый исходный код, чрезвычайно настраиваемый и содержащий множество полезных функций.

Вы можете установить его прямо с сайта iTerm2 или с помощью Homebrew:

brew install iterm2

Совет. После установки загляните в этот репозиторий цветовых схем на GitHub и выберите ту, которая вам подходит.

Zsh

Z shell (Zsh) - это расширение оболочки Bourne для Unix, аналогичное Bash, которое содержит множество новых функций и улучшений:

  • Автозаполнение. Заполнение вкладок Zsh более функционально, чем Bash, и позволяет с легкостью перемещаться по параметрам.
  • Автокоррекция: Zsh более снисходителен к орфографии и опечаткам в командах, выявляя ошибки и предлагая их автоматически.
  • Темы: Zsh позволяет полностью настроить подсказку, включая возможность размещения текста в правой части экрана.
  • … И многое другое!

Установка

Zsh уже установлен в последних выпусках macOS. Вы должны убедиться, что у вас установлена ​​как минимум версия 5.x (или выше), запустив zsh --version. Вы также можете установить последнюю версию с помощью Homebrew:

brew install zsh

Примечание. Начиная с macOS Catalina, компьютеры Mac теперь будут использовать Zsh в качестве оболочки входа по умолчанию и интерактивной оболочки в операционной системе.

О мой зш

Oh My Zsh - это платформа с открытым исходным кодом, управляемая сообществом, для настройки и управления Zsh в вашей системе. Он поставляется с множеством плагинов и тем на выбор для настройки вашего терминала.

Установка

Установите Oh My Zsh, выполнив команду установки с домашней страницы:

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Если это еще не сделано, процедура установки спросит вас, хотите ли вы сделать Zsh своей оболочкой по умолчанию - если это не так (или если вы хотите подождать), вы можете установить Zsh в качестве оболочки по умолчанию в любое время с помощью выполнив следующую команду:

chsh -s $(which zsh)

Конфигурация

Конфигурация по умолчанию, которая поставляется с Oh My Zsh, довольно хороша и уже является значительным улучшением по сравнению со стандартной оболочкой Bash. Тем не менее, сила Oh My Zsh заключается в множестве доступных опций настройки. Мы рассмотрим некоторые из основных вариантов, но если вы хотите глубже погрузиться во все доступные параметры настройки, ознакомьтесь с Oh My Zsh Wiki.

Файл конфигурации для Zsh называется .zshrc и находится в вашей домашней папке (~/.zshrc). Откройте его в любом редакторе и настройте:

Установка вашего Zsh $ PATH

Первая строка Oh My Zsh .zshrc должна позволить вам изменить $PATH переменную оболочки. Раскомментируйте строку export, и все готово:

# If you come from bash you might have to change your $PATH.
export PATH=$HOME/bin:/usr/local/bin:$PATH

Тема

Есть сотни тем на выбор, но тема Oh My Zsh по умолчанию - robbyrussell. На странице Oh My Zsh Wiki по темам отображается список доступных тем и снимки экрана.

Вы можете изменить тему, найдя строку, начинающуюся с ZSH_THEME, и обновив ее:

# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
ZSH_THEME="avit"

Плагины

Oh My Zsh поставляется в комплекте с сотнями плагинов, которыми вы можете воспользоваться. Опять же, загляните на страницу Oh My Zsh Wiki о плагинах, чтобы получить лучшее представление о доступных вам плагинах.

Вы можете включить любой плагин, добавив его имя в массив plugins в вашем .zshrc файле. Вот несколько хороших вариантов по умолчанию для начала:

# See https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins-Overview
plugins=(git colorize brew osx)

… А вот как выглядит мой:

plugins=(git brew colorize composer docker docker-compose gulp npm osx vagrant vscode nvm laravel)

Пользовательские скрипты

Oh My Zsh позволяет настраивать практически все, что связано с вашей конфигурацией - сценарии запуска, плагины, темы и т. Д. - и все это без необходимости разветвляться и создавать свою собственную версию.

По умолчанию ваши пользовательские скрипты будут находиться в ~/.oh-my-zsh/custom, но это можно изменить в любой другой каталог, установив переменную $ZSH_CUSTOM в вашем .zshrc файле.

Вы можете прочитать дополнительную информацию о замене плагинов / тем или создании собственных плагинов / тем, посетив страницу Oh My Zsh Wiki по настройке. А пока давайте создадим простой скрипт, загружающий пакет zsh-syntax-highlighting.

Сначала убедитесь, что zsh-syntax-highlighting установлен с помощью Homebrew:

brew install zsh-syntax-highlighting

После установки некоторых пакетов Homebrew иногда выводит дополнительную информацию и инструкции по установке. Вы можете просмотреть эту информацию в любое время, запустив brew info <formula>. Для zsh-syntax-highlighting он говорит примерно так:

==> Caveats
To activate the syntax highlighting, add the following at the end of your .zshrc:
  source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

Мы могли бы просто добавить эту строку к нашему .zshrc, как предлагает Homebrew, но вместо этого давайте разберем нашу конфигурацию на модули, сохранив эту директиву в ее собственном скрипте.

Создайте файл ~/.oh-my-zsh/custom/zsh-syntax-highlighting.zsh и скопируйте в предложенное дополнение:

source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

Примечание. Oh My Zsh загрузит все *.zsh файлы, находящиеся в ~/.oh-my-zsh/custom последним. Вы можете называть свои собственные сценарии как угодно.

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

echo "My current PATH: $PATH"

Вывод

Мы только начали касаться того, что возможно с конфигурацией, настройкой и потенциальной экономией времени. В следующем выпуске этой серии мы расскажем о добавлении Homebrew Bundle, Mackup и некоторых других полезных вещей в эту установку, чтобы облегчить полностью работающее резервное копирование всех точечных файлов и конфигурации. Эту резервную копию можно развернуть на любой новой машине, чтобы как можно быстрее приступить к работе с предпочитаемой средой разработки.

Перейдите к Точечные файлы для разработчиков - Часть 2