Alacritty
Alacritty 是一个用 Rust 语言编写的简单的终端模拟器。它支持回滚、24 位颜色(zhwp:色彩深度)、复制/粘贴、点击 URL 和自定义键绑定。
安装[编辑 | 编辑源代码]
安装 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
复制到其中一个位置并取消注释您要更改的设置. 大多数设置在保存文件后立即生效.
颜色[编辑 | 编辑源代码]
有关可用配色方案的列表,请参阅 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.yml
的hints:
部分。
故障排除[编辑 | 编辑源代码]
鼠标在 Vim 中无法正常工作[编辑 | 编辑源代码]
把 set ttymouse=sgr
和 set 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'
或者,可以将配置中的 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