# Шрифт в 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), поэтому если позже поставить красивый промпт, вместо иконок будут пустые квадратики.