This should make True Color (24-bit) and italics work in your tmux session and vim when using Alacritty (and should be compatible with any other terminal emulator, including Kitty).
Tested successfully in bash and zsh with latest packages from Arch Linux (with exception of neovim built from source):
2019-07-07- 2021-08-07
- Don't set
$TERMin your shell (zshrc, bashrc, etc.). Configure this in your terminal (alacritty). - Alacritty has no undercurl support, even though tmux has
Running this script should look the same in tmux as without.
curl -s https://gist.github.com/lifepillar/09a44b8cf0f9397465614e622979107f/raw/24-bit-color.sh >24-bit-color.sh
bash 24-bit-color.shIn ~/.config/alacritty/alacritty.yml:
env:
TERM: xterm-256colorIn ~/.tmux.conf (or ~/.config/tmux/tmux.conf):
set -g default-terminal "tmux-256color"
set -ag terminal-overrides ",xterm-256color:RGB"In ~/.vimrc:
" You might have to force true color when using regular vim inside tmux as the
" colorscheme can appear to be grayscale with "termguicolors" option enabled.
if !has('gui_running') && &term =~ '^\%(screen\|tmux\)'
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
endif
syntax on
set termguicolors
colorscheme yourfavcolorschemeIn ~/.vimrc:
set termguicolors
colorscheme yourfavcolorschemeOr ~/.config/nvim/init.vim or ~/.config/nvim/init.lua:
vim.o.termguicolors = true
vim.cmd'colorscheme yourfavcolorscheme'Check out the comments below for possible solutions.
And if you found another solution I would really appreciate if you left a comment with instructions and the following information:
- OS/Distro + version
- Vim or Neovim + version
- Terminal name + version
