3

从这个问题:如何更改 vim 状态行颜色?我学会了如何更改状态行颜色,如下所示:

hi StatusLine ctermbg=3 ctermfg=4

这很好,但我如何才能一直为每个窗口执行此操作,而不必为我打开的每个新窗口应用命令。我希望在 .vimrc 中执行此操作,但我不知道如何在 .vimrc 中执行此操作。

我在终端而不是 gui 中运行 vim;我使用沙漠作为配色方案。


回答!:在 Ingo 和 Kent 提供的答案让我确信我在做正确的事情之后,它仍然没有工作。然后我发现我的 vimrc 中有一行内容为

设置背景=暗

我不确定为什么会在那里,但是当我评论它时,我得到了我想要的状态行颜色。


不是答案!: 嗯。。好。我刚刚发现,在编辑 vimrc 时,对 .vimrc 进行更改确实给了我正确的颜色,但是当我编辑 python 文件时,状态颜色消失了。我猜这与 filetypes=on 有关吗?

无论哪种方式,当我有更多时间考虑时,我都必须重新提出这个问题,但似乎“设置背景 = 黑暗”的事情是一个问题,但这不是整个解决方案。

对于什么值得我的 vimrc 看起来像这样:

配色沙漠
autocmd BufRead,BufNewFile *.py 语法开启
autocmd BufRead,BufNewFile *.py set ai
autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,with,try,except,finally,def,class
设置制表符 = 4
设置扩展选项卡
设置 shiftwidth=4
文件类型缩进
“格劳孔开始
:set ignorecase "默认搜索不区分大小写
:set incsearch
:set hlsearch
" 如果启用粘贴模式,则返回 true
功能!有粘贴()
    如果&粘贴
        返回“粘贴模式”
    zh
        返回 '​​'
结束功能
" 始终显示状态行
设置最后状态=2
" 格式化状态行
set statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ CWD:\ %r%{getcwd()}%h\ \ \ Line:\ %l
您好 StatusLine ctermbg=3 ctermfg=4
“设置背景=黑暗
“格劳康结束
4

2 回答 2

3

首先,您必须将命令放在 中的任何命令之后:hi因为颜色方案可能提供了自己的定义。和类似。:colorscheme~/.vimrc:set background=...:syntax on

如果状态行颜色仍然消失,即使在切换/打开新窗口时,也许(这在您的问题中并不完全清楚),必须有一个:autocmd这样做的。然后检查您安装的插件。

于 2013-03-27T11:06:32.253 回答
3

我认为没StatusLine问题(大S)。问题是(我猜):

你把hi StatusLin...你的colorscheme desert电话之前。以便颜色方案覆盖您的状态行突出显示。

你应该把它colorscheme desert放在你的.vimrc

于 2013-03-27T11:10:49.837 回答