vim icon indicating copy to clipboard operation
vim copied to clipboard

Light "Snow Storm" Theme

Open tomleo opened this issue 8 years ago • 9 comments

I would love a light nord colorscheme, something that could be set via background=light.

tomleo avatar Mar 09 '18 18:03 tomleo

There are proposals to provide light themes for all Nord port projects, but this is not planned in the near future since there are still many open port projects and features that need to be completed before starting with such a big feature. You can try to use auto command groups in your ~/.vimrc in the meantime to adjust the theme on your own.

augroup nord-snowstorm
    autocmd!
    autocmd ColorScheme nord highlight <GROUP NAME> ctermfg=<COLOR NUMBER> guifg=<HEX COLOR>
augroup end

arcticicestudio avatar Mar 09 '18 19:03 arcticicestudio

Would it require only swap certain colors, or full redefinition of used colors throughout the colorscheme?

rkiyanchuk avatar Mar 24 '19 00:03 rkiyanchuk

@zoresvit Both. All text elements must be adjusted to use a color from the Polar Night palette to be readable (otherwise it's like white-on-white) and UI elements need also be changed to use colors from Snow Storm instead including designs for shading to make elements like the status stand out more. Most syntax element colors will stay as they are, but punctuations (braces, brackets, colons etc.) must also be adjusted as well as all currently supported plugins that make use of or add UI elements.

Nord already provides some design guidelines and the website itself is also designed with a light mode that can be toggled to dark with the icon button in the sticky header.

My current scope is to finally complete all implementations for arcticicestudio/nord#94 and then start to transfer the documentations and assets of all port projects to the new website like already half finished for Nord itself. When all of this is finally done I can start other large epics like this one, but at the moment I have to say that you have to customize Vim on your own with a Nord scoped augroup if you'd like to use it in a light mode.

arcticicestudio avatar Mar 24 '19 06:03 arcticicestudio

@arcticicestudio Sure, I understand, thanks for clarifying 👍🏼

rkiyanchuk avatar Mar 24 '19 06:03 rkiyanchuk

I took a stab at this: https://github.com/casonadams/nord.vim

It looks okay... But it is just for vim too. Meh... For anyone who cares here it is ^^.

casonadams avatar Feb 19 '21 17:02 casonadams

Is this still on the roadmap? I have set up my vim config to automatically set background=light or background=dark based on the time of day. Nord is by far my favorite color scheme, but I can't use it because it doesn't support a light background. Meanwhile I'm using iceberg, which I don't think looks quite as nice :frowning_face:

Hubro avatar Jun 30 '21 11:06 Hubro

Not sure if they are planning on this but in the meantime you could try Ayu theme (https://github.com/ayu-theme/ayu-vim). It's got 2 dark and 1 light theme.

How've you done the switch on dark or light? Is it done on startup of vim?

PhilT avatar Jun 30 '21 12:06 PhilT

How've you done the switch on dark or light? Is it done on startup of vim?

Ok I lied a little bit :stuck_out_tongue: I have a script that runs twice a day that changes a bunch of themes, but I haven't properly integrated Vim yet. For now I have a keybinding set up to toggle between background=light and background=dark. My plan is to write a plugin that watches a file in my home directory called .current-global-theme using inotify and changes the background setting based on the contents. It should be trivial since both vim and neovim supports async IO now, I just haven't looked into it yet.

The idea is that all my applications should change themes automatically without me having to do anything, so it's not good enough to only check on vim startup :slightly_smiling_face:

Hubro avatar Jun 30 '21 15:06 Hubro

@PhilT I have now implemented automatic theme switching in neovim using neovim-remote. This is part of my light/dark mode script:

# Change the theme of running neovim instances using neovim-remote
if which nvr &>/dev/null; then
    ls /tmp/nvim*/0 | while read line; do
        nvr --nostart --servername=$line -c "set background=$1" &
    done
else
    error "Failed to change theme of running nvim instances, please install neovim-remote"
fi

This is a lot simpler than my original plan of writing a nvim plugin, and it works perfectly.

This works great with iceberg, but unfortunately it doesn't work at all with ayu, since ayu requires a custom global variable to be changed, then the whole theme to be reloaded manually. I could probably get it to work with an extra autocmd though, I'll probably take a look at that some other day.

Hubro avatar Jul 04 '21 22:07 Hubro