如何在MacOS终端上的vim中使用正常颜色

问题描述 投票:0回答:2

我在 MacOS 终端上使用 vim 时遇到问题。这是我的终端调色板的屏幕截图:

enter image description here

这是在 vim 中打开文件的示例

enter image description here

我的

.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 terminal ansi-colors
2个回答
1
投票

理论。

当 Vim 启动时,它会检查终端模拟器窗口的背景是“深色”还是“浅色”。

如果是“暗”,Vim 将

:help 'background'
选项设置为
dark
并加载使用“亮”颜色的默认颜色方案,因为它们在“暗”背景上效果更好。

如果是“浅色”,Vim 将

'background'
选项设置为
light
并加载使用“正常”颜色的默认颜色方案,因为它们在“浅色”背景上效果更好。

现实

以可靠的跨平台方式了解终端模拟器窗口的背景是“暗”还是“亮”恰好是一个难题,而 Vim 的简单化方法非常糟糕:在 Terminal.app 中,设置了

'background'
light
,无论您有什么窗口背景(在其他环境中还有其他问题)。

理论上,上述问题不会对您造成太大伤害,因为您想要“正常”颜色,这就是理论上将

'background'
设置为
light
时应该得到的结果。但默认的颜色方案在颜色选择方面并不是真正一致,它在两种情况下都有效地使用了“明亮”和“正常”颜色的混合。

该怎么办?

基本上,你无法使用默认的 Vim 东西来解决你的问题。

  • 找到一个 Vim 颜色方案,a) 适用于 8/16 种颜色,b) 完全符合您的要求,例如仅使用颜色 0-7。
  • 按照以下此方法,用您自己的颜色覆盖默认颜色方案。
  • 使用 lifepillar/vim-colortemplate 根据您自己的规格构建您自己的配色方案。

0
投票

为了补充 romainl 的出色答案,如果目标是保留默认调色板但替换明亮的颜色,请从 syntax/syncolor.vim开始。

© www.soinside.com 2019 - 2024. All rights reserved.