為 vim + tmux 開啟真彩色(true color)
阿新 • • 發佈:2018-12-11
有一些 vim 主題(如 gruvbox 或
solarized8)在 GUI 和終端下效果不同,有可能是因為這個主題需要 true color (24 位顏色) 的支援,而通常終端只開啟 256 色的支援(如 xterm-256color
)。下面來看看怎麼開啟 true color 支援。
#驗證終端的色彩支援
真彩色的支援是需要終端的支援的,常用的終端(如 iterm2, konsole 等) 都已經支援了,詳細的列表可以參考 Colours in terminal。
當然,我們可以自己驗證終端是否支援真彩色。在終端裡執行 24-bit-color.sh 指令碼,如果支援真彩色,則顯示如下:
否則則類似下圖:
#tmux 開啟真彩色
tmux > 2.2 後開始支援真彩色。在 .tmux.conf
中新增如下內容:
set -g default-terminal screen-256colorset-option -ga terminal-overrides ",*256col*:Tc" # 這句是關鍵 |
重新開啟 tmux 即可。注意要先退出所有正在執行的 tmux 後再重開 tmux。
#vim 開啟真彩色
vim >= 7.4.1770
及 neovim >= 0.2.2
都支援真彩色,但需要少許配置。在
.vimrc
中加入:
if has("termguicolors" |
其中 termguicolors
用來開啟真彩色,前面兩行用來解決 vim 的 BUG (neovim 不需要),其中 ^[
是代表 ESC 鍵,需要在 vim 中按 Ctrl-v ESC
來輸入。
最後可以在 vim 中開啟 terminal (vim 8 或 neovim 中執行 :terminal
),執行上面的 24-bit-color.sh