Alacritty (Русский)
Alacritty — простой, аппаратно-ускоренный эмулятор терминала, написанный на Rust. Он поддерживает прокрутку, 24-битные цвета, копирование/вставку текста, переход по гиперссылкам и пользовательские сочетания клавиш.
Установка
Установите пакет alacritty или версию для разработчиков — alacritty-gitAUR.
Настройка
Alacritty ищет конфигурационный файл по следующим путям, в указанном порядке:
$XDG_CONFIG_HOME/alacritty/alacritty.yml$XDG_CONFIG_HOME/alacritty.yml$HOME/.config/alacritty/alacritty.yml$HOME/.alacritty.yml
Скопируйте шаблон файла конфигурации из /usr/share/doc/alacritty/example/alacritty.yml в один из приведённых путей и раскомментируйте настройки, которые желаете изменить. Большая часть настроек применится, как только вы сохраните файл.
Цвета
Смотрите вики проекта для получения списка доступных цветовых схем. Если понравившаяся цветовая схема есть в списке, то вставьте приведённый код в ваш конфигурационный файл.
Шрифт
Если вы не хотите использовать шрифт, установленный в системе по умолчанию, то можете указать другой, изменив следующие строки:
font:
normal:
family: monospace
style: Regular
bold:
family: monospace
style: Bold
italic:
family: monospace
style: Italic
bold_italic:
family: monospace
style: Bold Italic
size: 11
Замените monospace на имя шрифта, полученное в качестве вывода следующей команды:
$ fc-list : family style
Обратите внимание, что некоторые шрифты не предоставляют стиль Italic, а используют вместо этого Oblique.
Советы и хитрости
Запуск нового экземпляра в том же каталоге
Добавьте следующие строки в ваш файл конфигурации, чтобы запускать новый экземпляр Alacritty в текущей рабочей директории при нажатии Ctrl+Shift+Enter:
key_bindings:
- { key: Return, mods: Control|Shift, action: SpawnNewInstance }
"пользователь@хост:каталог" в заголовочной панели окна
Заголовочная панель окна показывает "Alacritty", в отличие от других эмуляторов терминала для Arch, которые по умолчанию показывают "пользователь@хост:каталог"
Чтобы применить поведение Arch по умолчанию ко всем своим пользователям в Alacritty, отредактируйте ваш файл /etc/bash.bashrc.
Найдите выражение "case", которое устанавливает $PROMPT_COMMAND для других терминалов:
case ${TERM} in
xterm*|rxvt*|Eterm|aterm|kterm|gnome*)
PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
;;
screen*)
PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
;;
esac
Затем отредактируйте строчку xterm*|rxvt*|Eterm|aterm|kterm|gnome*), добавив в неё alacritty, чтобы получилось xterm*|rxvt*|Eterm|alacritty|aterm|kterm|gnome*).
Режим Vi и копирование/вставка
Режим Vi позволяет перемещаться внутри окна Alacritty и использовать прокрутку при помощи клавиатуры. По умолчанию можно переключить этот режим, нажав Ctrl+Shift+Space. Для копирования можно либо использовать мышку, чтобы выбрать текст, и нажать Ctrl+Shift+c, либо войти в режим Vi, начать выделение с помощью v, перемещать его с помощью hjkl, как в vim, и скопировать выделенный текст с помощью y. Для вставки нажмите Ctrl+Shift+v. Чтобы скопировать/вставить в/из буфер(а) обмена X, можно использовать выделение мышкой для копирования и нажатие средней кнопки мыши для вставки.
Решение проблем
Мышь некорректно работает в Vim
Добавьте ttymouse=sgr в .vimrc или перейдите на Neovim. Кроме того, см. эту проблему.
Прозрачные границы в dwm
При использовании dwm, границы alacritty становятся прозрачными. Добавление следующей строки в dwm.c в директории dwm и повторная компиляция решают проблему.
if (!XftColorAllocName)...
die("error, cannot allocate color '%s'", clrname); /* Найдите эту строку */
dest->pixel |= 0xff << 24; /* Добавьте эту строку */
Функционал терминала, недоступный в удалённых сессиях
При подключении к удалённой системе из Alacritty, например с помощью SSH, в ней может не быть записи для Alacritty в базе данных terminfo (/usr/share/terminfo/a/alacritty*). В таком случае, интерактивные функции терминала работать не будут. Это можно исправить, скопировав информацию об Alacritty на удалённый сервер, как описано здесь.
На локальном устройстве, используя Alacritty:
$ infocmp > alacritty.terminfo # Экспорт информации об Alacritty $ scp alacritty.terminfo user@remote-host:~/ # Можно использовать любой способ копирования на удалённое устройство
На удалённом устройстве, в папке, куда был скопирован alacritty.terminfo:
$ tic -x alacritty.terminfo # импорт для текущего пользователя $ rm alacritty.terminfo # теперь файл можно удалить
В качестве альтернативы, можно изменить значение TERM в конфигурации на xterm-256color вместо установленного по умолчанию alacritty:
env: TERM: xterm-256color