Тёмная тема для GVim
Работая с 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
- Размер
18x18
- Название файла должно совпадать с названием кнопки
Для выполнения требований пунктов 2 и 3 необходимо выполнить преобразование. Я это сделал вручную: выбрал подходящие иконки из коллекции 16x16, и с помощью gimp увеличил до 18x18 и сохранил в формате xpm в каталог ~/.vim/bitmaps/
Чтобы найти названия пунктов меню можно выполнить в vim-е команду “:menu” или в системном конфиге vim-а: /usr/share/vim/vim74/menu.vim
:
Мои значки можно взять здесь: bitmaps.tar.gz
Создание профиля
По умолчанию для GVim оставляю старую светлую тему, а для тёмной будет сделан отдельный профиль и скрипт запуска.
Основной конфиг vim-а располагается в файлах ~/.vimrc
и ~/.gvimrc
. Для цветовых профилей сделал еще 4 вспомогательных конфига:
colorscheme my_darkspectrum
let g:airline_theme="jellybeans"
colorscheme my_github
let g:airline_theme="sol"
colorscheme my_xoria256
let g:airline_theme="wombat"
set bg=light
colorscheme plum
let g:airline_theme="sol"
В ~/.vimrc ставлю загрузку ~/.vim/vimrc-dark:
" ...
source ~/.vim/vimrc-dark
" ...
В ~/.gvimrc ставлю загрузку ~/.vim/gvimrc-dark
" ...
source ~/.vim/gvimrc-light
" ...
Для настройки темы gtk применим особую уличную магию: переменная окружения “GTK2_RC_FILES”. Можете попробовать перед запуском gvim или любого другого приложения с gui на gtk2, указать свою тему:
GTK2_RC_FILES=~/.vim/gtk/Elegant-Dark-Flat/gtk-2.0/gtkrc gvim
Остаётся создать скрипт для запуска GVim с тёмной цветовой схемой и тёмной схемой GTK. Этот скрипт тоже положил в ~/.vim/run-gui-dark.sh
:
#!/bin/bash
GTK2_RC_FILES=~/.vim/gtk/Elegant-Dark-Flat/gtk-2.0/gtkrc gvim -c 'source ~/.vim/gvimrc-dark'
Не забываем поставить атрибут выполнения:
chmod +x ~/.vim/run-gui-dark.sh
Теперь каждый рабочий день начинаю с: ~/.vim/run-gui-dark.sh