vim: change the status line color in insert mode

前端 未结 3 1804
别那么骄傲
别那么骄傲 2021-01-06 10:25

I found this snippet to change the status line color when i go to insert mode:

\" first, enable status line always
set laststatus=2

\" now set it up to chan         


        
相关标签:
3条回答
  • 2021-01-06 10:48

    I don't see any mention of whether you are using a gui version of Vim, or just Vim in a terminal.

    If you are in a terminal you need to change "ctermbg=5" to "ctermbg=red" instead. In this case "5" translates to "DarkMagenta". Vim will accept numbers or color names for these attributes.

    More information can be found in under sections 2 and 3 under the Highlight Command from the Vim Syntax Documentation.

    0 讨论(0)
  • 2021-01-06 10:48

    Great solution: Powerline plugin

    Normal mode Insert mode

    0 讨论(0)
  • 2021-01-06 10:52

    If you use :help, you can find out what each of those attributes mean.

    guisp is used for the "special" color of the highlight. In this case, it's the color of the undercurl effect. It sounds like you want to change the actual highlight color, so try this:

    au InsertEnter * hi StatusLine term=reverse ctermbg=5 gui=undercurl guisp=Magenta guibg=Red
    

    And in fact, if you just use a GUI Vim, you don't need any of the terminal options:

    au InsertEnter * hi StatusLine guibg=Red
    au InsertLeave * hi StatusLine guibg=#ccdc90
    

    For InsertLeave, I just used the my normal StatusLine color as an example. You should be able to find it in your colorscheme file.

    Incidentally, guibg actually affects the text color, while guifg affect the line color...

    0 讨论(0)
提交回复
热议问题