Alacritty (Русский)

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Состояние перевода: На этой странице представлен перевод статьи Alacritty. Дата последней синхронизации: 11 июля 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

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  # теперь файл можно удалить
Примечание: После этого необходимо запустить новый сеанс SSH, чтобы удалённая командная оболочка загрузила информацию об Alacritty.

В качестве альтернативы, можно изменить значение TERM в конфигурации на xterm-256color вместо установленного по умолчанию alacritty:

env:
  TERM: xterm-256color