Como fazer o Vim ajustar o tema de cores automaticamente, de acordo com a hora do dia

O editor de textos Vim permite escolher entre uma dezena de esquemas de cores, ou temas, pre-instalados.
Com este pequeno código, introduzido no arquivo de configuração do Vim, você pode fazer com que ele varie automaticamente, em função da hora do dia.

Se você já tem alguma pequena experiência com conceitos básicos de programação (em qualquer linguagem) não vai ter dificuldades para alterar o script, para atender às suas necessidades.
Se quiser, pode apenas copiar e colar o código. Ele vai simplesmente funcionar, como se espera.

Script para trocar o esquema de cores no Vim

O script, que segue, é desenvolvido na linguagem de programação interna do Vim — o vimscript.
O código deve ser inserido ao final do arquivo de configurações ~/.vimrc e será executado toda vez em que o programa for iniciado.
Ao rodar o Vim, o script irá checar a hora e aplicar o esquema de cores apropriado.

Abra um terminal e edite o arquivo de configurações:


vim ~/.vimrc

Acrescente o código seguinte ao final do arquivo:

" Verificação progressiva do horário
" e ajuste do esquema de cores do Vim.
" A adição de 0 para garantir que 
" retorno da função seja numérico.

if strftime("%H") < 6 + 0
        colorscheme darkblue
        echo "selecionado tema DARKBLUE"
elseif strftime("%H") < 12 + 0
        colorscheme morning
        echo "selecionado tema MORNING"
elseif strftime("%H") < 18 + 0
        colorscheme shine
        echo "selecionado tema SHINE"
else
        colorscheme evening
        echo "selecionado tema EVENING"
endif

As linhas com o comando 'echo', infelizmente interromperão a inicialização do Vim, toda vez, para passar a mensagem entre aspas.
Inicialmente, elas são interessantes para ajudar a verificar se tudo está correndo bem e se o Vim está lendo adequadamente cada linha de código.
Depois, você pode remover, para deixar a execução do editor mais fluida e o .vimrc mais enxuto.

Finalmente, quando terminar de editar, basta sair do Vim e entrar de novo.