我正在使用Vim的Solarized颜色方案。 当我打开一个水平分割的vim会话时,水平分割几乎是看不见的。 另一方面,窗口之间的垂直分割线是清晰可见的。
这里是在cygwin上使用暗色Solarized主题的图片。 您可以看到白色垂直线将侧边栏与其他两个窗口分开。 您还可以看到一个空白区域(顶部窗口)和一个带有文本的区域(底部窗口)。 问题在于顶部和底部窗口之间没有有效的可见分隔符。我希望这个分隔符与垂直分隔符的颜色相同。
(请注意,在Ubuntu上使用终端时,任何配色方案都会出现相同的问题。 基本上,无论我在哪里使用vim,水平分割线都没有突出显示。)
以下是我认为是solarized.vim的相关代码行(假设statusline是我要配置的内容)。 我只是不确定如何修改它们。
exe "hi! StatusLine" .s:fmt_none .s:fg_base1 .s:bg_base02 .s:fmt_revbb
exe "hi! StatusLineNC" .s:fmt_none .s:fg_base00 .s:bg_base02 .s:fmt_revbb
exe "hi! Visual" .s:fmt_none .s:fg_base01 .s:bg_base03 .s:fmt_revbb
exe "hi! Directory" .s:fmt_none .s:fg_blue .s:bg_none
exe "hi! ErrorMsg" .s:fmt_revr .s:fg_red .s:bg_none
exe "hi! IncSearch" .s:fmt_stnd .s:fg_orange .s:bg_none
exe "hi! Search" .s:fmt_revr .s:fg_yellow .s:bg_none
exe "hi! MoreMsg" .s:fmt_none .s:fg_blue .s:bg_none
exe "hi! ModeMsg" .s:fmt_none .s:fg_blue .s:bg_none
exe "hi! LineNr" .s:fmt_none .s:fg_base01 .s:bg_base02
exe "hi! Question" .s:fmt_bold .s:fg_cyan .s:bg_none
if ( has("gui_running") || &t_Co > 8 )
exe "hi! VertSplit" .s:fmt_none .s:fg_base00 .s:bg_base00
else
exe "hi! VertSplit" .s:fmt_revbb .s:fg_base00 .s:bg_base02
endif
编辑:我尝试使用 Steve 建议的命令,但似乎我的问题更加深入。我设置了以下变量,但只是将侧边栏周围的分隔符染色。关于水平分割仍然没有任何改变。有人知道这里出了什么问题吗?
exe "hi! StatusLine" .s:fmt_none .s:fg_red .s:bg_red .s:fmt_revbb
exe "hi! StatusLineNC" .s:fmt_none .s:fg_red .s:bg_red
exe "hi! VertSplit" .s:fmt_revbb .s:fg_red .s:bg_red
编辑2:我分析了我的 .vimrc 文件并确认问题出现在这些行。一旦将这些行注释掉,水平分屏默认就像垂直分屏一样了……糟糕!
set statusline= " Override default
set statusline+=%2*\ %f\ %m\ %r%* " Show filename/path
set statusline+=%3*%=%* " Set right-side status info after this line
set statusline+=%4*%l/%L:%v%* " Set <line number>/<total lines>:<column>
set statusline+=%5*\ %* " Set ending space
exe "hi! StatusLine" .s:fmt_none .s:fg_base02 .s:bg_base02 .s:fmt_revbb
其中前景色和背景色具有相同的基础。 - FDinoffexe "hi! StatusLine" .s:fmt_none .s:fg_green .s:bg_green .s:fmt_revbb
也没有改变任何东西。 - Fonnae