Search code examples
neovim

is it possible to have nvim use two different themes for different use cases?


I am new to nvim (neovim).

I use mutt for my mailing needs. For editor, I use nvim for which I am using the theme bluz71/vim-nightfly-colors however, I feel that it would be helpful to have the mutt invocation to /usr/bin/nvim for editing images have a different them (say, overcache/NeoSolarized light theme). So, basically, I want mutt to call the nvim editor with a different theme than when I invoke nvim for some other editing case. Is this possible to do? Is there some other way we can do this?

Update: following the suggestions given by @lcheylus, I made a .vim/ftplugin/mail.vim file and put colorscheme NeoSolarized in it. I also added filetype plugin on in my .config/nvim/init.vim and added the following to my .vim/filetype/mail.vim:

set termguicolors
set background=light
colorscheme NeoSolarized


" Default value is "normal", Setting this option to "high" or "low" does use the
" same Solarized palette but simply shifts some values up or down in order to
" expand or compress the tonal range displayed.
let g:neosolarized_contrast = "normal"

" Special characters such as trailing whitespace, tabs, newlines, when displayed
" using ":set list" can be set to one of three levels depending on your needs.
" Default value is "normal". Provide "high" and "low" options.
let g:neosolarized_visibility = "normal"

" I make vertSplitBar a transparent background color. If you like the origin
" solarized vertSplitBar style more, set this value to 0.
let g:neosolarized_vertSplitBgTrans = 1

" If you wish to enable/disable NeoSolarized from displaying bold, underlined
" or italicized" typefaces, simply assign 1 or 0 to the appropriate variable.
" Default values:
let g:neosolarized_bold = 1
let g:neosolarized_underline = 1
let g:neosolarized_italic = 0

" Used to enable/disable "bold as bright" in Neovim terminal. If colors of bold
" text output by commands like `ls` aren't what you expect, you might want to
" try disabling this option. Default value:
let g:neosolarized_termBoldAsBright = 1

that appears to work for me in making my NeoSolarized theme to light.


Solution

  • You could set specific commands for mail (Mutt in your case) via a ftplugin/mail.vim configuration file.

    To set your colorscheme via ftplugin/mail.vim,

    colorscheme NeoSolarized