Работая с vim из командной строки, как правило по умолчанию уже имеем дело с тёмной темой. Даже если это не так, то сделать тёмный терминал и выбрать тёмную тему разметки синтаксиса не составит проблемы для опытного пользователя.
С GVim ситуация обстоит немного сложнее. Область текста окружают виджеты GTK2 и цветные значки на панели инструментов. Именно поэтому в своё время отказался от использования тёмной темы.
Вот что получится в результате тюнинга GVim:
Подготовка
Для начала выбираем самую удобную цветовую тему для области редактирования и разметки синтаксиса. Я выбрал darkspectrum и немного допилил под себя (my_darkspectrum.vim)
Для тех кто не в курсе, цветовые темы надо копировать в каталог: ~/.vim/colors/
Теперь выбираем подходящую тему для gtk2. Их есть большой выбор на gnome-look.org. Я остановился на Elegant Dark Flat. Разместил в каталоге ~/.vim/gtk как показано на рисунке слева. Можно разместить в любом другом месте. Для создания нового профиля понадобится файл gtkrc, в моём случае — ~/.vim/gtk/Elegant-Dark-Flat/gtk-2.0/gtkrc
Наконец понадобятся новые значки для тулбара. Тоже можно поискать на сайтах семейства «*-look.org». Остановился на Evolvere Icon theme.
В справке vim-а есть раздел «toolbar-icon», где можно найти требования к значкам:
- Должны располагаться в каталоге ~/.vim/bitmaps
- Формат xpm или bmp
- Размер 18×18
- Название файла должно совпадать с названием кнопки
Для выполнения требований пунктов 2 и 3 необходимо выполнить преобразование. Я это сделал вручную: выбрал подходящие иконки из коллекции 16×16, и с помощью gimp увеличил до 18×18 и сохранил в формате xpm в каталог ~/.vim/bitmaps/
Чтобы найти названия пунктов меню можно выполнить в vim-е команду «:menu» или в системном конфиге vim-а: /usr/share/vim/vim74/menu.vim:
Мои значки можно взять здесь: bitmaps.tar.gz
Создание профиля
По умолчанию для GVim оставляю старую светлую тему, а для тёмной будет сделан отдельный профиль и скрипт запуска.
Основной конфиг vim-а располагается в файлах ~/.vimrc и ~/.gvimrc. Для цветовых профилей сделал еще 4 вспомогательных конфига:
1 2 |
colorscheme my_darkspectrum let g:airline_theme="jellybeans" |
1 2 |
colorscheme my_github let g:airline_theme="sol" |
1 2 |
colorscheme my_xoria256 let g:airline_theme="wombat" |
1 2 3 |
set bg=light colorscheme plum let g:airline_theme="sol" |
В ~/.vimrc ставлю загрузку ~/.vim/vimrc-dark:
1 2 3 |
" ... source ~/.vim/vimrc-dark " ... |
В ~/.gvimrc ставлю загрузку ~/.vim/gvimrc-dark
1 2 3 |
" ... source ~/.vim/gvimrc-light " ... |
Для настройки темы gtk применим особую уличную магию: переменная окружения «GTK2_RC_FILES». Можете попробовать перед запуском gvim или любого другого приложения с gui на gtk2, указать свою тему:
1 |
GTK2_RC_FILES=~/.vim/gtk/Elegant-Dark-Flat/gtk-2.0/gtkrc gvim |
Остаётся создать скрипт для запуска GVim с тёмной цветовой схемой и тёмной схемой GTK. Этот скрипт тоже положил в ~/.vim/run-gui-dark.sh:
1 2 |
#!/bin/bash GTK2_RC_FILES=~/.vim/gtk/Elegant-Dark-Flat/gtk-2.0/gtkrc gvim -c 'source ~/.vim/gvimrc-dark' |
Не забываем поставить атрибут выполнения:
1 |
chmod +x ~/.vim/run-gui-dark.sh |
Теперь каждый рабочий день начинаю с: ~/.vim/run-gui-dark.sh
Gvim так намного лучше выглядит. Молодец.