升级后无法在 vim 中看到颜色

Unable to see color in vim after upgrade

最近将 macOS 更新为 Bigsur,作为更新的一部分,我还通过自制软件更新了软件包。我的 coc.nvim 插件无法正常工作,所以我重新安装了软件包。在那之后,我看不到我的方案(gruvbox)的颜色,它也作为插件安装。现在屏幕全是灰色,背景很暗(以前的背景也是暗的)。我附上 vim 设置以进行说明。语法设置已启用,它正确地选择了 erlang,termguicolors 也已设置。我正在使用 mac 终端来调用 vim.

$ echo $TERM=xterm-256color

我没有更改 .vimrc 但内容如下:

set termguicolors
set tabstop=4
set number relativenumber
set guifont=Fira\ Code:h18
syntax on
filetype plugin indent on
set background=dark
call plug#begin()
Plug 'fatih/vim-go'
Plug 'lervag/vimtex'
Plug 'vim-syntastic/syntastic'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'tpope/vim-fugitive'
Plug 'morhetz/gruvbox'
Plug 'scrooloose/nerdtree'
Plug 'nvie/vim-flake8'
Plug 'sirver/ultisnips'
Plug 'pangloss/vim-javascript'
Plug 'neoclide/coc.nvim', {'do': 'yarn install --frozen-lockfile'}
Plug 'vim-erlang/vim-erlang-runtime'
Plug 'rakesh-k/vim-antlr'
Plug 'vim-erlang/vim-erlang-runtime'
Plug 'rust-lang/rust.vim'
Plug 'vim-erlang/vim-erlang-runtime'
call plug#end()
colorscheme gruvbox

Vim 配色方案通常定义基本终端 (term)、彩色终端 (cterm*) 和 GUI (gui*) 的样式属性。这是一个例子:

highlight Comment ctermfg=240 guifg=#585858

那个……

  • 使用 the xterm palette 中的颜色 240 作为彩色终端的前景,
  • 在 GUI 中使用颜色 #585858 作为前景。

当您启用 &termguicolors 时,您是在告诉 Vim 使用特定于 GUI 的值,分为 R、G 和 B 组件,而不是特定于彩色终端的值。如果您的终端仿真器不支持所谓的“真实颜色”功能,那么它就无法理解 Vim 告诉它做什么,您会得到一个混乱的配色方案。

由于 Terminal.app 不支持“本色”,因此启用 &termguicolors 根本行不通。系统升级前不能用,升级后也不能用

如果您绝对需要“本色”,请获取支持该功能的终端仿真器,例如 iTerm。

如果你可以没有它,就不要启用它。