Обзор

Лигатуры - это специальные символы шрифта, которые объединяют два или более символа в один. В этой статье я покажу вам, как настроить лигатурные шрифты для эмуляторов терминала (Alacritty, iTerm2 и kitty) и редакторов кода (VS Code, Neovim и Emacs).

Лигатурные шрифты

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

Шрифт лигатуры в эмуляторе терминала

Alacritty

Текущая версия Alacritty не поддерживает лигатуры. Здесь есть вилка, которую я использую.

Клонируйте и соберите alacritty из репозитория.

# git clone https://github.com/zenixls2/alacritty.git
# cd alacritty
# git checkout ligature
# cargo build --release

Настройте .alacritty.yml для использования Fira Code.

font:
  normal:
    family: Fira Code
    style: Regular
  bold:
    family: Fira Code
    style: Bold
  italic:
    family: Fira Code
    style: Italic
  size: 17

Я использую это на своей машине под управлением Arch Linux. В настоящее время это не работает для macOS.

iTerm2

Для iTerm2 я настраиваю его на использование Victor Mono и проверяю Использовать лигатуры. iTerm2 также предупреждает, что Enabling ligatures may reduce performance.

Китти

В kitty.conf я настраиваю его на использование Monoid

font_size 16.0
font_family Monoid

Редакторы кода

Разработчики могут предпочесть использовать шрифты с лигатурным кодом, поскольку мы читаем и пишем код большую часть дня. Конечно, это личное предпочтение.

Код Visual Studio

Настроить лигатурный шрифт в Visual Studio Code очень просто. Просто установите нужный шрифт и настройте его в пользовательских настройках. Например. Я настраиваю VS Code для использования Cascadia Code

settings.json

"editor.fontLigatures": true,
"editor.fontFamily": "Cascadia Code, Menlo, Monaco, 'Courier New', monospace"

Неовим

Обычно я использую Neovim в терминале, поэтому эмулятор терминала должен поддерживать лигатурный шрифт для Neovim, чтобы правильно отображать символы.

Используя kitty, Neovim может правильно отображать лигатурный шрифт.

Emacs

Для Emacs я использую ligature.el.

ligature.el отсутствует в MELPA, поэтому мне нужно git клонировать его локально, а затем загрузить в init.el

Чтобы узнать об использовании диграфов в качестве альтернативы лигатурам, ознакомьтесь со следующей статьей.



Если вы еще не являетесь участником Medium и хотите им стать, нажмите здесь. (Часть вашей абонентской платы будет использована для поддержки alpha2phi.)