Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Vim(gVim)中配置状态行_Vim - Fatal编程技术网

在Vim(gVim)中配置状态行

在Vim(gVim)中配置状态行,vim,Vim,我已经在Vim(更准确地说是gVim)中配置了状态行,以便当有多个窗口打开时,活动窗口中的状态行是彩色的,而其他窗口中的状态行是灰色的: function! WinEnterStatuslineColor() setlocal statusline=%1*[%3*%{Usid()}%1*]:%n:\ %2*%F%1*%m%r%h%w\ [%Y,%{strlen(&fenc)?&fenc:&enc},%{&fileformat}]%=%l(%L):%v[%p

我已经在Vim(更准确地说是gVim)中配置了状态行,以便当有多个窗口打开时,活动窗口中的状态行是彩色的,而其他窗口中的状态行是灰色的:

function! WinEnterStatuslineColor()
    setlocal statusline=%1*[%3*%{Usid()}%1*]:%n:\ %2*%F%1*%m%r%h%w\ [%Y,%{strlen(&fenc)?&fenc:&enc},%{&fileformat}]%=%l(%L):%v[%p%%]
endfunction

function! WinLeaveStatuslineColor()
    setlocal statusline=%4*[%6*%{Usid()}%4*]:%n:\ %5*%F%4*%m%r%h%w\ [%Y,%{strlen(&fenc)?&fenc:&enc},%{&fileformat}]%=%l(%L):%v[%p%%]
endfunction

au WinEnter * call WinEnterStatuslineColor()
au WinLeave * call WinLeaveStatuslineColor()

fun! Usid()
    let usname=system('echo $(whoami)')
    let pair = split(usname)
    return pair[0]
endf

hi User1 ctermbg=green ctermfg=red   guifg=white guibg=green
hi User2 ctermbg=red   ctermfg=blue  guifg=yellow   guibg=green gui=bold
hi User3 ctermbg=blue  ctermfg=green guifg=#80ccff  guibg=green gui=bold
hi User4  gui=NONE ctermbg=green ctermfg=red  guifg=#808080 guibg=#bcbcbc 
hi User5  gui=NONE ctermbg=red   ctermfg=blue guifg=#808080   guibg=#bcbcbc 
hi User6  gui=NONE ctermbg=blue  ctermfg=green guifg=#808080  guibg=#bcbcbc 

但是,有一点我无法实现:在非活动状态行中,所有字母都以粗体字体呈现,我希望非活动状态行以常规非粗体字体呈现。有办法做到这一点吗?(如果这很重要的话,我使用的是Arch Linux。)

这很可能与您的
statuslineNC
hi组有关

确保该组中有
cterm=NONE gui=NONE
。您可以检查当前值:
hi statuslineNC

清洁它:
hi clear statuslinenc

覆盖它
hi!statuslineNC foo=条形图…


我也在Archlinux上,这没关系。

为什么要经历这些痛苦?您不能直接使用
hi StatusLineNC