可能是重复问题:
为什么我使用vim的时候,大多数配色方案看起来不如屏幕截图那么好看?
我正在尝试将我的vim配置转移到仅从终端使用。目前我正在使用gVim,一切正常。
但在terminal.app中,颜色方案是错误的。我正在使用terminal.app的Solarized 256主题和vim中的solarized主题。
它们看起来像这样:
为了使背景颜色显示正确,我不得不设置g:solarized_termtrans = 1。
可能是重复问题:
为什么我使用vim的时候,大多数配色方案看起来不如屏幕截图那么好看?
我正在尝试将我的vim配置转移到仅从终端使用。目前我正在使用gVim,一切正常。
但在terminal.app中,颜色方案是错误的。我正在使用terminal.app的Solarized 256主题和vim中的solarized主题。
它们看起来像这样:
为了使背景颜色显示正确,我不得不设置g:solarized_termtrans = 1。
if !has('gui_running')
" Compatibility for Terminal
let g:solarized_termtrans=1
" Make Solarized use 16 colors for Terminal support
let g:solarized_termcolors=16
endif
如果您正在使用终端,可以通过使用:let g:solarized_termcolors = 16
来解决终端的问题。
伪代码:
termtrans
设置为1。编辑1:
如果您确定正在使用256色终端,则可以直接忽略上述步骤。如下:https://github.com/Greduan/dotfiles/blob/6dac113d8281b0201399831bf62a2ea520d28154/vim/vimrc.vim#L551-L561
if !has('gui_running')
" Compatibility for Terminal
let g:solarized_termtrans=1
if (&t_Co >= 256 || $TERM == 'xterm-256color')
" Do nothing, it handles itself.
else
" Make Solarized use 16 colors for Terminal support
let g:solarized_termcolors=16
endif
endif
这个代码会检查你是否拥有终端。如果有,就设置termtrans
,然后检查你的终端是否支持256种颜色,如果支持,就不做任何改变,否则将Solarized设置为使用16种颜色。这样效果更好。
let g:solarized_termcolors=256
对我很有帮助。 - mixel
$TERM
环境吗?要查看其当前状态,请使用echo $TERM
。如果不是像xterm-256color
这样的东西,那么您将需要将其设置为这样。(在Terminal.app首选项中,我想) - Michael Berkowski