Як я можу створити власну схему кольорів?


16

Які файли мені потрібно створити? Що має бути всередині цих файлів? Чи є десь файл кольорової схеми за замовчуванням, який я можу використовувати і відповідно змінювати значення кольорів?

Відповіді:


15

Розташування кольорів

По-перше, Vim шукає у своїх папках для виконання colorsкаталог. Ось де слід зберігати всі схеми кольорів ( :help 'runtimepath')

Це означає, що вам знадобиться один файл, який знаходиться у ~/.vim/colorsпапці. Кольорові схеми за замовчуванням розміщені в $VIMRUNTIME/colors, де $VIMRUNTIMEзазвичай є /usr/share/vim/vim74або /usr/local/share/vim/vim74каталоги, залежно від способу встановлення Vim (замініть vim74 на vim73 на Vim версії 7.3)

Тепер, щоб перейти до цікавої частини.

Створення кольорової схеми

Щоб розпочати роботу зі створення власної кольорової схеми, я настійно пропоную переглянути кольорові схеми за замовчуванням та поекспериментувати з їх зміною.

Тому скопіюйте схему кольорів за замовчуванням з $VIMRUNTIME/colorsпапки у свою ~/.vim/colorsпапку. Назвіть це те, що відрізняє себе від назви кольорової схеми за замовчуванням. Отже, якщо ви скопіювали desertсхему кольорів, яка за замовчуванням постачається з Vim, назвіть файл як default_mod.vimабо щось для цього. Відкрийте файл схеми кольорів та змініть на, let g:colors_nameщоб він також відрізнявся від файлу схеми кольорів за замовчуванням. За умовою, це має бути таким же, як ім'я файлу кольорової схеми.

У ColorScheme, все , що вам потрібно зробити , це дати кольору для ctermbg, ctermfg, guibg, guifg(для терміналу фону, термінал на перший план графічного інтерфейсу фону, Gui кольору переднього плану відповідно) для різного вбудованих в кульмінаційних групах. Щоб переглянути список виділених груп, які ви можете змінити, ознайомтесь :help highlight-default. Необов’язково, ви також можете використовувати атрибути ctermі, guiщоб вказати, що ви хочете, щоб група виділень була жирною або курсивом.

Наприклад, для цього буде встановлено зелений колір для рядка:

highlight String ctermbg=NONE ctermfg=107 guibg=NONE guifg=#95B47B

Ви також можете використовувати посилання на підсвічування, щоб пов’язати групу виділення з іншою групою. Це корисно, якщо ви хочете, щоб дві групи виділень були однакових кольорів.

Наприклад, ви можете зв'язати diffAddedгрупу підсвічування із визначеною вище групою виділених рядків:

highlight link diffAdded String


Якщо я просто скопіюю один з файлів colorcheme.vim і потім покладу його в окрему папку, чи зможу я використовувати його повторно на інших своїх машинах? Наприклад, якщо я поміщу його в репортаж на github, чи зможу я його просто клонувати або вмикати в одному з менеджерів плагінів?
dkns

@dkns, так, точно. Наприклад, ви можете назвати свою схему кольорів як "dkns_colorscheme.vim", помістити її в кольори / каталог і потім підштовхнути її до Github. Якщо у вас встановлений менеджер плагінів, клонування цього репо зробить схему кольорів доступною для Vim.
акшай

Інше питання. Не впевнений, чи варто я розміщувати це тут як коментар чи задавати інше загальне запитання. Як я можу знайти значення кольорів для cterm? Я хотів би, щоб ця тема виглядала однаково на gui та терміналі, але я не знаю, як перетворити шістнадцяткові значення в cterm.
dkns

1
@dkns Оскільки термінальні кольори в значній мірі залежать від кольорової палітри, що використовується в емуляторі терміналу, це зробити досить складно. Коли я створював свою схему кольорів, мені здалося корисним відобразити, як виглядає кожен із 256 кольорів. Я використовую цей невеликий сценарій у своїй папці біна. Ви можете просто скористатися інструментом підбору кольорів, щоб потім вибрати кольори, щоб забезпечити однакові кольори гуй та cterm. Я б пішов від cterm-> gui, а не навпаки, оскільки в gui vim більше кольорів. Сподіваюся, що це допомагає.
акшай

7

Ознайомтеся з такими сайтами, як Vivify та Villustrator . Вони в основному дозволяють вам графічно створити або налаштувати схему, а потім завантажити необхідні файли.


0

Існує кілька інструментів, щоб зробити це автоматичним:

  • vivify : досить складний, вам потрібно вручну вибрати кожен колір для кожної окремої групи виділень.
  • vimcolors.org : дуже просто і легко. Просто виберіть кілька кольорів, і він автоматично генерує схему для вас.

0

Ще одним чудовим інструментом є RNB від romainl, який використовує ERB . ERB (Embedded RuBy) - це особливість Ruby, яка дозволяє генерувати текст із шаблонів.

Тож використання цього інструменту досить прямо вперед: спочатку потрібно визначити різні змінні, що відповідають номенклатурі вашої кольорової схеми, і, звичайно, її фактичному змісту (як мають виглядати кольори, які групи ви хочете використовувати тощо). досить прямо, тому що автор написав багато коментарів, щоб допомогти вам. Тоді все, що вам потрібно зробити, - це надати вашому персоналізованому шаблону erb, і інструмент створить потрібні файли.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.