如何更改vim状态行的颜色?
我试图通过编辑我的如何更改vim状态行的颜色?,vim,background-color,statusbar,Vim,Background Color,Statusbar,我试图通过编辑我的.vimrc来更改vim的状态行颜色 通过使用命令au,我试图在进入或离开插入模式时更改状态行的颜色;使用此命令不会发生任何情况: hi StatusLine guibg=whatevercoloriwant 通过直接更改状态行颜色,无需任何au命令,背景保持不变 有没有执行的理由 :hi状态行guibg=red 例如,状态栏的背景仍为绿色?如果您正在终端中运行vim,请尝试: hi StatusLine ctermbg=whatever ctermfg=whatever g
.vimrc
来更改vim的状态行颜色
通过使用命令au
,我试图在进入或离开插入模式时更改状态行的颜色;使用此命令不会发生任何情况:
hi StatusLine guibg=whatevercoloriwant
通过直接更改状态行颜色,无需任何au
命令,背景保持不变
有没有执行的理由
:hi状态行guibg=red
例如,状态栏的背景仍为绿色?如果您正在终端中运行vim,请尝试:
hi StatusLine ctermbg=whatever ctermfg=whatever
guibg guifg是用于GUI的
希望能有所帮助。我将此用于我的状态行,它会根据我所处的模式改变行的颜色,以及其他花絮:
function! InsertStatuslineColor(mode)
if a:mode == 'i'
hi statusline guibg=Cyan ctermfg=6 guifg=Black ctermbg=0
elseif a:mode == 'r'
hi statusline guibg=Purple ctermfg=5 guifg=Black ctermbg=0
else
hi statusline guibg=DarkRed ctermfg=1 guifg=Black ctermbg=0
endif
endfunction
au InsertEnter * call InsertStatuslineColor(v:insertmode)
au InsertLeave * hi statusline guibg=DarkGrey ctermfg=8 guifg=White ctermbg=15
" default the statusline to green when entering Vim
hi statusline guibg=DarkGrey ctermfg=8 guifg=White ctermbg=15
" Formats the statusline
set statusline=%f " file name
set statusline+=[%{strlen(&fenc)?&fenc:'none'}, "file encoding
set statusline+=%{&ff}] "file format
set statusline+=%y "filetype
set statusline+=%h "help file flag
set statusline+=%m "modified flag
set statusline+=%r "read only flag
" Puts in the current git status
if count(g:pathogen_disabled, 'Fugitive') < 1
set statusline+=%{fugitive#statusline()}
endif
" Puts in syntastic warnings
if count(g:pathogen_disabled, 'Syntastic') < 1
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
endif
set statusline+=\ %= " align left
set statusline+=Line:%l/%L[%p%%] " line X of Y [percent of file]
set statusline+=\ Col:%c " current column
set statusline+=\ Buf:%n " Buffer number
set statusline+=\ [%b][0x%B]\ " ASCII and byte code under cursor
函数!InsertStatuslineColor(模式)
如果a:mode=='i'
hi状态行guibg=青色字符mfg=6 guifg=黑色字符mbg=0
elseif a:mode=='r'
hi状态行guibg=紫色字符mfg=5 guifg=黑色字符mbg=0
其他的
hi状态行guibg=DarkRed ctermfg=1 guifg=Black ctermbg=0
恩迪夫
端功能
au InsertCenter*调用InsertStatuslineColor(v:insertmode)
au INSERTLEVE*高状态行guibg=DarkGrey-ctermfg=8 guifg=White-ctermbg=15
“进入Vim时,默认状态行为绿色
hi状态行guibg=DarkGrey-ctermfg=8 guifg=White-ctermbg=15
“设置状态行的格式
设置状态行=%f“文件名
设置statusline+=[%{strlen(&fenc)?&fenc:'none'},“文件编码
设置statusline+=%{&ff}]“文件格式
设置statusline+=%y“文件类型
设置statusline+=%h“帮助文件标志
设置statusline+=%m“已修改标志
设置statusline+=%r“只读标志
“放入当前git状态
如果计数(g:U禁用,“逃犯”)<1
设置statusline+=%{逃犯#statusline()}
恩迪夫
“放入语法警告
如果计数(g:U禁用,'Syntastic')<1
设置statusline+=%#warningmsg#
设置statusline+=%{SyntasticStatuslineFlag()}
设置状态行+=%*
恩迪夫
设置statusline+=\%=“左对齐”
设置statusline+=行:%l/%l[%p%%]”Y的X行[文件的百分比]
设置statusline+=\Col:%c“当前列
设置statusline+=\Buf:%n“缓冲区编号
在光标下设置statusline+=\[%b][0x%b]\”ASCII和字节码
这确实是一段很棒的代码
我已经修改了它以适应我的需要。我在缓冲区状态中添加了一些措辞:
[保存]或[修改]
我根据缓冲区更改事件设置状态栏颜色。暗灰色表示未更改/正常。如果进行了任何修改,则为橙色4
这是我修改过的代码:
" Some funky status bar code its seems
" https://stackoverflow.com/questions/9065941/how-can-i-change-vim-status-line-colour
set laststatus=2 " set the bottom status bar
function! ModifiedColor()
if &mod == 1
hi statusline guibg=White ctermfg=8 guifg=OrangeRed4 ctermbg=15
else
hi statusline guibg=White ctermfg=8 guifg=DarkSlateGray ctermbg=15
endif
endfunction
au InsertLeave,InsertEnter,BufWritePost * call ModifiedColor()
" default the statusline when entering Vim
hi statusline guibg=White ctermfg=8 guifg=DarkSlateGray ctermbg=15
" Formats the statusline
set statusline=%f " file name
set statusline+=[%{strlen(&fenc)?&fenc:'none'}, "file encoding
set statusline+=%{&ff}] "file format
set statusline+=%y "filetype
set statusline+=%h "help file flag
set statusline+=[%{getbufvar(bufnr('%'),'&mod')?'modified':'saved'}]
"modified flag
set statusline+=%r "read only flag
set statusline+=\ %= " align left
set statusline+=Line:%l/%L[%p%%] " line X of Y [percent of file]
set statusline+=\ Col:%c " current column
set statusline+=\ Buf:%n " Buffer number
set statusline+=\ [%b][0x%B]\ " ASCII and byte code under cursor
因此,要在vim中使用此配置,必须将其粘贴到.vimrc文件中?是的,在将其放入时也有类似的信息,我得到
未定义的变量:g:aghogen_disabled