从这个问题:How can I change vim status line colour?我学会了如何更改状态线着色,如下所示:
hi StatusLine ctermbg=3 ctermfg=4
这很好,但我怎么能一直为每个窗口做这个,而不是必须为我打开的每个新窗口应用命令。我希望在.vimrc中这样做,但我无法理解如何。
我在一个不是gui的终端上运行vim;我正在使用沙漠作为颜色方案。
ANSWER!: 在Ingo和Kent提供的答案让我确信我正在做正确的事之后,它仍然无法正常工作。然后我发现我的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
答案 0 :(得分:2)
我认为StatusLine
没问题(大S
)。问题是(我猜):
您将hi StatusLin...
放在colorscheme desert
来电之前。这样colorscheme就会覆盖你的状态栏突出显示。
您应该将其放在colorscheme desert
.vimrc
之后
答案 1 :(得分:1)
首先,您必须在:hi
中将:colorscheme
命令放在之后的任何~/.vimrc
命令中,因为colorscheme可能提供了自己的定义。类似于:set background=...
和:syntax on
。
如果状态线的颜色仍然消失,可能(这在您的问题中并不完全清楚)即使切换/打开新窗口,也必须有:autocmd
来执行此操作。然后检查已安装的插件。