Respostas:
Primeiro, o Vim procura em suas pastas de tempo de execução um colorsdiretório. Aqui é onde todos os esquemas de cores devem ser armazenados ( :help 'runtimepath')
Isso significa que você precisará de um arquivo que esteja na ~/.vim/colorspasta. Os esquemas de cores padrão estão localizados em $VIMRUNTIME/colors, onde $VIMRUNTIMEestá normalmente /usr/share/vim/vim74ou nos /usr/local/share/vim/vim74diretórios, dependendo de como o Vim está instalado (substitua vim74 por vim73 pelo Vim versão 7.3)
Agora, para chegar à parte divertida.
Para começar a criar seu próprio esquema de cores, sugiro dar uma olhada nos esquemas de cores padrão e experimentar modificá-los.
Então copie o esquema de cores padrão da $VIMRUNTIME/colorspasta para a sua ~/.vim/colorspasta. Nomeie algo que se distinga do nome do esquema de cores padrão. Portanto, se você copiou o desertesquema de cores que vem com o Vim por padrão, nomeie o arquivo como default_mod.vimou algo nesse sentido. Abra o arquivo colorscheme e altere let g:colors_namepara também se diferenciar do arquivo colorscheme padrão. Por convenção, esse deve ser o mesmo que o nome do arquivo colorscheme.
No colorscheme, tudo que você tem a fazer é dar às cores para ctermbg, ctermfg, guibg, guifg(para o fundo terminal, plano terminal, fundo gui, primeiro plano cores gui respectivamente) para os diferentes construído em grupos de destaque. Para verificar a lista de grupos de destaque que você pode modificar, confira :help highlight-default. Opcionalmente, você também pode usar os atributos cterme guipara especificar que deseja que um grupo de destaque fique em negrito ou itálico.
Por exemplo, isso definirá uma cor verde para uma String:
highlight String ctermbg=NONE ctermfg=107 guibg=NONE guifg=#95B47B
Você também pode usar os links de destaque para vincular um grupo de destaque a outro grupo. Isso é útil se você quiser que dois grupos de destaque sejam da mesma cor.
Por exemplo, você pode vincular o diffAddedgrupo de destaque ao grupo de destaque String definido acima:
highlight link diffAdded String
Confira sites como Vivify e Villustrator . Eles basicamente permitem criar ou ajustar graficamente um esquema e depois baixar os arquivos necessários.
Existem algumas ferramentas para tornar isso automático:
Outra ótima ferramenta é o RNB by romainl, que usa ERB . ERB (Embedded RuBy) é um recurso do Ruby que permite gerar algum texto a partir de modelos.
Portanto, o uso dessa ferramenta é bastante direto: primeiro você precisa definir diferentes variáveis correspondentes à nomenclatura do esquema de cores e, claro, ao conteúdo real (como as cores devem ser exibidas, quais grupos você deseja usar etc.). bastante direto porque o autor escreveu muitos comentários para ajudá-lo. Então tudo que você precisa fazer é deixar seu modelo personalizado erb e a ferramenta gerará os arquivos certos.