This should make True Color (24-bit) and italics work in your tmux session and vim/neovim when using Alacritty (and should be compatible with any other terminal emulator, including Kitty).
- 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 yourfavcolorschemeIf you use
~/.vimrcfor your nvim configuration, use the above vim example becaus it's fully compatible (nvim ignores the workarounds for vim).
In ~/.config/nvim/init.vim
set termguicolors
colorscheme yourfavcolorschemeOr ~/.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
