Vim
tmux

tmux 上で Vim を True Color (24 bit color) で使う

More than 1 year has passed since last update.

Vim には、termguicolors というオプションがあり、端末上でも True Color を使用することが出来ます。

set termguicolors

tmux 上で Vim を使う場合

tmux で True Color を用いる場合、以下のような設定をします。
コメントに @ttdoda さんによる terminal-overrides の解説がありますのでそちらも御覧ください

set -g default-terminal "screen-256color"
set-option -ga terminal-overrides ",xterm-256color:Tc"

ちなみに、xterm-256color を設定する記事を度々見かけますが、tmux/FAQ at master · tmux/tmux によると screen 系以外は非推奨のようです。

TERM=screen-256color を設定した場合、Vim でも追加の設定が必要です。
:h xterm-true-color を参照すると解説が書いてあります。

set termguicolors
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"

TERM=xterm-256color の場合は、t_8ft_8b はデフォルトの値が設定されるようです。

環境

  • iTerm 2 3.0.12
  • tmux 2.3
  • MacVim 8.0.124

調べた動機

以下のツイートを見かけて調べてみました。