Alacritty

来自 Arch Linux 中文维基

Alacritty 是一个用 Rust 语言编写的简单的终端模拟器。它支持回滚、24 位颜色(zhwp:色彩深度)、复制/粘贴、点击 URL 和自定义键绑定。

安装[编辑 | 编辑源代码]

安装 alacritty 包或者开发版本 alacritty-gitAUR

配置[编辑 | 编辑源代码]

Alacritty 按照以下顺序搜索配置文件:

  • $XDG_CONFIG_HOME/alacritty/alacritty.toml
  • $XDG_CONFIG_HOME/alacritty.toml
  • $HOME/.config/alacritty/alacritty.toml
  • $HOME/.alacritty.toml

将配置文件 /usr/share/doc/alacritty/example/alacritty.toml 复制到其中一个位置并取消注释您要更改的设置. 大多数设置在保存文件后立即生效.

颜色[编辑 | 编辑源代码]

有关可用配色方案的列表,请参阅 the upstream wiki 。 如果您喜欢的配色方案在列表中,请将提供的代码粘贴到您的配置文件中。

字体[编辑 | 编辑源代码]

如果不想使用系统的默认字体,可以通过更改以下行来指定不同的字体

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 样式。

提示和技巧[编辑 | 编辑源代码]

在同一目录中生成新实例[编辑 | 编辑源代码]

将以下行添加到您的配置文件中,以通过按 Ctrl+Shift+Enter Alacritty 来在当前工作目录中生成一个新的Alacritty实例 :

key_bindings:
  - { key: Return,   mods: Control|Shift, action: SpawnNewInstance }

"user@host:cwd" 在窗口标题栏中[编辑 | 编辑源代码]

窗口标题栏显示 "Alacritty" 这与 Arch 下的其他终端仿真器不同, 后者默认显示 "user@host:cwd". 请参阅 FS#70752.

如果您希望 Arch 默认行为适用于 Alacritty 中的所有用户, 您需要编辑您的 /etc/bash.bashrc 文件。

查找 $PROMPT_COMMAND 为其他终端设置的 case 语句:

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

T然后编辑 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 开始选择,像在 vim 中那样移动 hjkl, 然后按 y复制选择的内容。按 Ctrl+Shift+v 进行粘贴. 要从/向 X clipboard 进行复制/粘贴, 您可以使用鼠标选择进行复制,然后单击鼠标中键进行粘贴。

正则表达式提示[编辑 | 编辑源代码]

正则表达式提示可用于在终端的可见部分中查找文本并将其通过管道传输到其他应用程序。激活后,匹配的文本会根据配置的字母表以“hints”(提示)突出显示,并呈现给用户以供通过键盘选择.

默认情况下,Alacritty 通过 Ctrl+Shift+U 快捷方式提供提示 URL 并使用 xdg-open打开它们。有关配置详细信息,请参阅 alacritty.ymlhints:部分。

故障排除[编辑 | 编辑源代码]

鼠标在 Vim 中无法正常工作[编辑 | 编辑源代码]

set ttymouse=sgrset mouse=a 到您的 .vimrc 中或者换成 Neovim. 也可以参阅 这个议题.

dwm中的透明边框[编辑 | 编辑源代码]

使用 dwm,使alacritty's 的边框变透明。将此行添加到dwm 源代码目录的 drw.c 中并重新编译可修复此问题:

if (!XftColorAllocName(...))
    die("error, cannot allocate color '%s'", clrname); /* 找到这行代码 */
dest->pixel |= 0xff << 24;                            /* 添加这行代码 */

终端功能在远程 shell 中不可用[编辑 | 编辑源代码]

当使用 Alacritty 终端连接到远程系统时, 例如通过 SSH, 系统可能会在 terminfo 数据库 (/usr/share/terminfo/a/alacritty*)中使用Alacritty没有的条目。 因此,所有交互式终端功能都不起作用。这可以通过将 Alacritty 的 terminfo 复制到远程服务器来解决, 如 termite#Terminal issues with SSH 中所述。

在本地主机上,使用 Alacritty:

$ infocmp > alacritty.terminfo                # 导出 Alacritty 的 Terminfo 配置文件
$ scp alacritty.terminfo user@remote-host:~/  # 或者使用其他方法复制到远程主机上

在远程主机上,在您复制的目录中alacritty.terminfo:

$ tic -x alacritty.terminfo  # 导入 Terminfo 配置到当前用户
$ rm alacritty.terminfo      # 可选操作: 删除 Terminfo 配置文件

这是上述过程的单行版本:

$ infocmp | ssh "$user@$host" 'tic -x /dev/stdin'
注意: 在此之后,您将需要启动一个新的 SSH 会话以使远程 shell 加载新的 Terminfo.

或者,可以将配置中的 TERM 设置为 xterm-256color 而不是默认的 alacritty:

env:
  TERM: xterm-256color

需要硬件支持 GLSL 3.30[编辑 | 编辑源代码]

您可以设置 环境变量 LIBGL_ALWAYS_SOFTWARE=1 [1]启动它来强制 Alacritty 使用软件渲染:

$ LIBGL_ALWAYS_SOFTWARE=1 alacritty

Wayland GNOME 上没有标题栏[编辑 | 编辑源代码]

当使用 Wayland GNOME时, 标题栏是空的并且有奇怪的图标。有关详细信息,请参阅 https://github.com/alacritty/alacritty/issues/4739 for details.

一种解决方案是设置一个空的WAYLAND_DISPLAY environment variable,使用 XWayland 而不是本地的 Wayland。

多个显示器上的不同字体大小[编辑 | 编辑源代码]

默认情况下,Alacritty 会尝试根据Device pixel ratio 在每个显示器上将字体缩放到适当的大小。在具有多个显示器的某些设置中,此行为可能导致物理尺寸大不相同[2], [3].

要查看每个监视器的现有设备像素比率值,请运行 alacritty -v, 将子窗口移动到每个监视器,并注意父窗口中报告的 Device pixel ratio

使用环境变量WINIT_X11_SCALE_FACTOR强制使用恒定的设备像素比 可能足以解决不同字体大小的问题:

$ WINIT_X11_SCALE_FACTOR=1.66 alacritty