Недавно по рекомендации Darthman'а решил сменить используемый шрифт. Всегда раньше использовал FixedSys, но попробовать другие стало интересно. В посте я попытался описать как настраивать шрифты в виме.
Если vim запущен в консольном режиме, то отображаемый шрифт полностью зависит от программы-оболочки, реализующей консоль. Поэтому всё, что написано ниже, имеет отношение к gVim'у.
Опция gVim'а, настраивающая шрифт, называется guifont. Если в качестве параметра ей передать звёздочку, то появится диалоговое окошко (проверено под Windows, в других ОС не гарантируется)
:set guifont=*
Этот способ запуска полезен для перебора разных вариантов, но неудобен для настроек (не поместить в vimrc файл, например). Вместо звёздочки можно передать название шрифта с дополнительными опциями. Вот что написано в хелпе о формате дополнительных опций под windows:
For the Win32 GUI *E244* *E245*
- takes these options in the font name:
hXX - height is XX (points, can be floating-point)
wXX - width is XX (points, can be floating-point)
b - bold
i - italic
u - underline
s - strikeout
cXX - character set XX. Valid charsets are: ANSI, ARABIC,
BALTIC, CHINESEBIG5, DEFAULT, EASTEUROPE, GB2312, GREEK,
HANGEUL, HEBREW, JOHAB, MAC, OEM, RUSSIAN, SHIFTJIS,
SYMBOL, THAI, TURKISH, VIETNAMESE ANSI and BALTIC.
Normally you would use "cDEFAULT".
Use a ':' to separate the options.
- A '_' can be used in the place of a space, so you don't need to use
backslashes to escape the spaces.
- Examples: >
:set guifont=courier_new:h12:w5:b:cRUSSIAN
:set guifont=Andale_Mono:h7.5:w4.5
Вот несколько моих примеров со скриншотами:
set guifont=consolas:h11:cRUSSIAN
set guifont=DejaVu_Sans_Mono:h11:cRUSSIAN
Некий обзор шрифтов для программирования можно почитать в этой статье.
Если не передавать опцию cRUSSIAN, то могут начаться проблемы с отображением русских букв в разных ситуациях. Если же всё же нет возможности передать такую опцию, то ИМХО самым простым способом решения проблемы является изменение кодировки ввода и языка сообщений:
set guifont=consolas:h11
set encoding=utf-8
lan mes en
Читать дальше......