Eu tenho uma solução:
Faça este comando em cada ambiente.
for i in {0..255} ; do
printf "\x1b[38;5;${i}mcolour${i}\n"
done
Embora meu tmux tenha:
set-option -g default-terminal screen-256color
mas no tmux, a cor é ruim e diferente do urxvt (o resultado em urxvt é igual ao xterm).
Então, inicie o tmux por
tmux -2
Isso força o tmux a se comportar como se o terminal em execução pudesse gerar 256 cores.
Em seguida, execute seu vim.
Seu problema foi corrigido?