从这个问题:How can I change vim status line colour?我学会了如何更改状态线着色,如下所示:
hi StatusLine ctermbg=3 ctermfg=4
这很好,但我怎么能一直为每个窗口做这个,而不是必须为我打开的每个新窗口应用命令 . 我希望在.vimrc中这样做,但我无法弄清楚如何 .
我在一个不是gui的终端上运行vim;我正在使用沙漠作为颜色方案 .
答案:在Ingo和Kent提供的答案让我确信我做的是正确的事后,它仍然无效 . 然后我发现我的vimrc中有一行读过
设置背景=黑暗
我不知道为什么会在那里,但当我评论它时,我得到了我想要的状态线颜色 .
NOT THE ANSWER ! :好的 . 我've just discovered that making that change to .vimrc does indeed give me the right colours when I was editting vimrc but when I edit python files the status colours are gone. I'猜测这与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
2 回答
我认为
StatusLine
没问题(大S
) . 问题是(我猜):你在
colorscheme desert
电话之前放了hi StatusLin...
. 这样colorscheme就会覆盖你的状态栏突出显示 .你应该把它放在
.vimrc
的colorscheme desert
之后首先,您必须在
~/.vimrc
中放置:hi
命令 after 任何:colorscheme
命令,因为colorscheme可能提供自己的定义 . 类似于:set background=...
和:syntax on
.如果状态线的颜色仍然消失,可能(这在您的问题中并不完全清楚)即使切换/打开新窗口,也必须有
:autocmd
这样做 . 然后检查已安装的插件 .