# Шрифт в iTerm ## Оглавление - [[#Как поменять шрифт]] - [[#Шрифт по умолчанию]] - [[#Рекомендуемые шрифты]] - [[#Шрифты Nerd Font в порядке популярности]] - [[#Что такое лигатуры]] - [[#Какой тип шрифта выбирать в настройках]] - [[#SF Mono]] ## Как поменять шрифт **Settings → Profiles → Text → Font** — выбрать нужный шрифт и размер (рекомендуется 13-14pt). Шрифт применяется сразу, без перезагрузки. ## Шрифт по умолчанию По умолчанию в iTerm стоит **Monaco 12pt**. ## Рекомендуемые шрифты Рекомендуется использовать шрифты из семейства **Nerd Fonts**. Это обычные программистские шрифты, в которые дополнительно встроены иконки (папки, git-ветки, языки программирования и т.д.). Эти иконки нужны, если позже захочется поставить красивый промпт (Starship, Powerlevel10k) или использовать файловые менеджеры в терминале. Без Nerd Font вместо иконок будут пустые квадратики. Рекомендуется установить все шрифты сразу одной командой, а потом в настройках (**Settings → Profiles → Text → Font**) переключаться между ними. Не нужно закрывать окно настроек и не нужно перезагружать терминал — прямо в окне настроек меняешь шрифт, и он моментально меняется в терминале. Так проще всего выбрать тот, который нравится. ```bash brew install --cask font-fira-code-nerd-font font-hack-nerd-font font-jetbrains-mono-nerd-font font-meslo-lg-nerd-font ``` Или по отдельности — ниже команда для каждого. ### Шрифты Nerd Font в порядке популярности Разница между Hack, JetBrains Mono и MesloLGS минимальная — это дело вкуса. Главный выбор: - Хочется лигатуры → **Fira Code** - Не хочется лигатуры → любой из остальных трёх | Шрифт | Особенности | Установка | | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- | | **Fira Code** | Единственный из четырёх с поддержкой лигатур (см. ниже). В остальном визуально похож на другие | `brew install --cask font-fira-code-nerd-font` | | **Hack** | Без лигатур. Визуально почти не отличается от JetBrains Mono и MesloLGS — разница заметна только если поставить рядом и присмотреться | `brew install --cask font-hack-nerd-font` | | **JetBrains Mono** | Без лигатур. Визуально почти не отличается от Hack и MesloLGS | `brew install --cask font-jetbrains-mono-nerd-font` | | **MesloLGS** | Без лигатур. Визуально почти не отличается от Hack и JetBrains Mono | `brew install --cask font-meslo-lg-nerd-font` | ### Что такое лигатуры Лигатуры — это когда два или больше символов, стоящих рядом, автоматически объединяются в один красивый значок. Вы по-прежнему набираете обычные символы, и в коде хранятся обычные символы — просто на экране они отображаются иначе. Например: `!=` выглядит как `≠`, `=>` как `⇒`, `<=` как `≤`. Это чисто визуальное изменение, которое ничего не меняет в самом коде. ### Какой тип шрифта выбирать в настройках После установки каждый шрифт появляется в настройках в трёх типах. Например, для Fira Code это будет: - FiraCode Nerd Font - FiraCode Nerd Font **Mono** - FiraCode Nerd Font **Propo** Для остальных шрифтов — то же самое (Hack Nerd Font / Hack Nerd Font Mono / Hack Nerd Font Propo и т.д.). Всегда выбирайте тот, в названии которого **нет ни Mono, ни Propo** — просто «... Nerd Font» и всё. Во всех трёх типах буквы выглядят одинаково. Разница только в иконках (значки папок, стрелок, языков из Nerd Font) и в ширине букв: **Обычный** — буквы одинаковой ширины, иконки чуть шире букв, поэтому хорошо видны и читаемы. Лучший выбор для терминала. **Mono** — буквы одинаковой ширины, но иконки принудительно сжаты до ширины одной буквы, поэтому выглядят мелко и плохо читаются. **Propo** — буквы разной ширины (широкие буквы вроде `m` шире, узкие вроде `i` уже). Из-за этого текст в терминале перестаёт быть ровным и выглядит неаккуратно. ## SF Mono Шрифт **SF Mono** используется по умолчанию во встроенном терминале macOS (Terminal.app). В iTerm его нет в списке шрифтов, потому что он встроен в Terminal.app и не доступен другим приложениям. Чтобы сделать его доступным, нужно скопировать его в системную папку шрифтов: ```bash cp -R /System/Applications/Utilities/Terminal.app/Contents/Resources/Fonts/. ~/Library/Fonts/ ``` После этого SF Mono сразу появится в списке шрифтов iTerm — даже не нужно закрывать окно настроек. Но в нём нет иконок (Nerd Font), поэтому если позже поставить красивый промпт, вместо иконок будут пустые квадратики.