加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在vim中更改水平分割状态行的突出显示颜色

发布时间:2020-12-15 21:10:58 所属栏目:安全 来源:网络整理
导读:我正在为Vim使用曝光的配色方案.当我打开一个水平分割的两个窗口的 vim会话时,水平分割几乎是不可见的.另一方面,窗户之间的垂直分割清晰可见 这是一张在cygwin上使用黑暗曝光主题的照片.您可以看到白色垂直线将侧边栏与其他两个窗口分开.您还可以看到空白区
我正在为Vim使用曝光的配色方案.当我打开一个水平分割的两个窗口的 vim会话时,水平分割几乎是不可见的.另一方面,窗户之间的垂直分割清晰可见

这是一张在cygwin上使用黑暗曝光主题的照片.您可以看到白色垂直线将侧边栏与其他两个窗口分开.您还可以看到空白区域(顶部窗口)和带文本的区域(底部窗口).问题是在顶部窗口和底部窗口之间实际上没有可见的分隔线.我希望这个分隔符与垂直分隔符的颜色相同.

(请注意,任何colorscheme以及在Ubuntu上使用终端时都会出现同样的问题.基本上,无论我在哪里使用vim,水平分割都不会突出显示与背景不同.)

以下是我认为solarized.vim的相关行(假设状态行是我想要配置的).我只是不确定如何修改它们.

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

编辑:我试图使用史蒂夫建议的命令,看起来我的问题在某种程度上更深.我设置了以下变量,但它只对侧边栏周围的分隔符着色.水平分裂仍然没有改变.有谁知道这里发生了什么?

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

EDIT2:我拆开了我的.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

解决方法

实际上,水平分割是StatusLineNC

将其设置为

exe "hi! StatusLineNC"   .s:fmt_none   .s:fg_red .s:bg_base02 .s:fmt_revbb

和Vsplit一致到

exe "hi! VertSplit"  .s:fmt_none   .s:fg_red .s:bg_red

使它看起来像以下.不完全可见,但与颜色一起玩.

编辑:使用https://github.com/Rykka/colorv.vim/显示行中的颜色使得更容易看到颜色是什么.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读