更改.vimrc中的状态行颜色?
从这个问题:我如何更改VIM状态线的颜色? 我学会了如何改变状态线着色,如下所示:
hi StatusLine ctermbg=3 ctermfg=4
这很好,但我怎样才能为每个窗口做到这一点,而不必为每个打开的新窗口应用命令。 我期望在.vimrc中做到这一点,但我无法解决如何。
我在终端上运行vim而不是gui; 我正在使用沙漠作为配色方案。
回答!:在因戈和肯特提供的答案让我确信我做得正确之后,它仍然无法工作。 然后我发现我的vimrc里有一行代码
设置背景=黑暗
我不确定那是为什么,但是当我评论它时,我得到了我想要的状态线颜色。
不是答案! : 嗯。。好。 我刚刚发现,在编辑vimrc时,对.vimrc进行更改确实给了我正确的颜色,但是当我编辑python文件时,状态颜色消失了。 我猜这是关于filetypes = on的事情?
无论哪种方式,当我有更多时间思考这个问题时,我将不得不重新提出这个问题,但似乎'背景=黑暗'是一个问题,但它不是整个解决方案。
值得我的vimrc看起来像这样:
colorscheme desert autocmd BufRead,BufNewFile *.py syntax on autocmd BufRead,BufNewFile *.py set ai autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,with,try,except,finally,def,class set tabstop=4 set expandtab set shiftwidth=4 filetype indent on "GLAUCON START :set ignorecase "make searches case insensitive by default :set incsearch :set hlsearch " Returns true if paste mode is enabled function! HasPaste() if &paste return 'PASTE MODE ' en return '' endfunction " Always show the status line set laststatus=2 " Format the status line set statusline= %{HasPaste()}%F%m%r%h %w CWD: %r%{getcwd()}%h Line: %l hi StatusLine ctermbg=3 ctermfg=4 "set background=dark "GLAUCON END
我认为StatusLine
可以(大S
)。 问题是(我猜):
你在你的colorscheme desert
呼叫之前把你喜欢的hi StatusLin...
放进去。 这样colorscheme会覆盖您的状态线突出显示。
你应该把它放在你的.vimrc
的colorscheme desert
之后
首先,必须将:hi
命令放在~/.vimrc
任何:colorscheme
命令后面 ,因为colorscheme可能会提供自己的定义。 类似于:set background=...
和:syntax on
。
即使在切换/打开新窗口时,如果状态行颜色仍然消失,也许(这从您的问题中不完全清楚),必须有:autocmd
来完成此操作。 然后检查你安装的插件。