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