我在 MacOS 终端上使用 vim 时遇到问题。这是我的终端调色板的屏幕截图:
这是在 vim 中打开文件的示例
我的
.vimrc
如下:
syntax on
set noswapfile
set tabstop=2
set shiftwidth=2
set expandtab
set autoindent
set fileformat=unix
set number
set relativenumber
set noerrorbells
set encoding=utf-8
set wildmenu
set smartcase
set ruler
set incsearch
set ignorecase smartcase
set path+=**
call plug#begin('~/.vim/plugged')
Plug 'jiangmiao/auto-pairs'
"Plug 'bling/vim-airline'
"Plug 'vim-airline/vim-airline-themes'
"Plug 'airblade/vim-gitgutter'
call plug#end()
正如你所看到的,没有颜色设置,所以看起来vim默认使用明亮的颜色。你知道如何让它使用正常的颜色吗?
当 Vim 启动时,它会检查终端模拟器窗口的背景是“深色”还是“浅色”。
如果是“暗”,Vim 将
:help 'background'
选项设置为 dark
并加载使用“亮”颜色的默认颜色方案,因为它们在“暗”背景上效果更好。
如果是“浅色”,Vim 将
'background'
选项设置为 light
并加载使用“正常”颜色的默认颜色方案,因为它们在“浅色”背景上效果更好。
以可靠的跨平台方式了解终端模拟器窗口的背景是“暗”还是“亮”恰好是一个难题,而 Vim 的简单化方法非常糟糕:在 Terminal.app 中,设置了
'background'
light
,无论您有什么窗口背景(在其他环境中还有其他问题)。
理论上,上述问题不会对您造成太大伤害,因为您想要“正常”颜色,这就是理论上将
'background'
设置为 light
时应该得到的结果。但默认的颜色方案在颜色选择方面并不是真正一致,它在两种情况下都有效地使用了“明亮”和“正常”颜色的混合。
基本上,你无法使用默认的 Vim 东西来解决你的问题。
为了补充 romainl 的出色答案,如果目标是保留默认调色板但替换明亮的颜色,请从 syntax/syncolor.vim开始。