Alacritty
Alacritty is a simple, GPU-accelerated terminal emulator written in Rust. It supports scrollback, truecolor, copy/paste, clicking on URLS, and custom key bindings.
Contents
Installation
Install the alacritty package or alacritty-gitAUR for the development version.
Configuration
Alacritty searches for a configuration file at the following places in this order:
$XDG_CONFIG_HOME/alacritty/alacritty.yml
$XDG_CONFIG_HOME/alacritty.yml
$HOME/.config/alacritty/alacritty.yml
$HOME/.alacritty.yml
Copy the example configuration file at /usr/share/doc/alacritty/example/alacritty.yml
to one of those places and uncomment the settings you want to change. Most settings take effect as soon as you save the file.
Colors
See [1] for a list of available color schemes. If your preferred color scheme is on the list, paste the provided code into your configuration file.
Font
If you do not want to use your system’s default font, you can specify a different font by changing the following lines:
font: normal: family: monospace style: Regular bold: family: monospace style: Bold italic: family: monospace style: Italic bold_italic: family: monospace style: Bold Italic
Substitute monospace
with a font name from the output of
$ fc-list : family style
Note that some fonts do not provide an Italic
style but an Oblique
style instead.
Tips and Tricks
Spawn new instance in same directory
Add the following lines to your configuration file to spawn a new instance of Alacritty in the current working directory by pressing Ctrl+Shift+Enter
:
key_bindings: - { key: Return, mods: Control|Shift, action: SpawnNewInstance }
"user@host:cwd" in Window Title Bar
The window title bar shows "Alacritty" unlike other terminal emulators under Arch, which by default show "user@host:cwd".
If you want the Arch default behavior to apply to all your users in Alacritty, you need to edit your /etc/bash.bashrc
file.
Find the case statements which sets the $PROMPT_COMMAND
for other terminals:
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
Then edit the line xterm*|rxvt*|Eterm|aterm|kterm|gnome*)
to add alacritty
so that it reads xterm*|rxvt*|Eterm|alacritty|aterm|kterm|gnome*)
.
Troubleshooting
Mouse not working properly in Vim
Add ttymouse=sgr
to your .vimrc
or switch to Neovim. Also see this issue.