Как установить размер шрифта по умолчанию в Vim?

94

Я пытаюсь настроить параметры по умолчанию для своего графического интерфейса с помощью Vim. Я уже провел исследование в Интернете, но все решения, которые я нашел и попробовал, не работали.

Вот некоторые из вещей, которые я пробовал (в файле .vimrc):

set guifont = Monaco:h20
set guifont=Monospace 20

На самом деле меня не волнует шрифт Monaco.

Мебиус
источник
Первый выглядит правильно. Вы перезапускали vim? Кроме того, существует ли шрифт на вашем компьютере?
Роб
4
Vim поставляется с очень обширной документацией. Не ищите в Интернете: используйте :helpвместо этого; это быстрее и авторитетнее. В вашем случае :help font<C-d>было бы достаточно простого , чтобы вы могли найти :help guifontи научиться set guifontправильно использовать для вашей системы.
romainl 07

Ответы:

204

Для первого удалите пробелы. Пробелы имеют значение для команды set.

set guifont=Monaco:h20

Для второго он должен быть (h указывает высоту)

set guifont=Monospace:h20

Моя рекомендация по настройке шрифта - сделать (если ваша версия это поддерживает)

set guifont=*

Появится всплывающее меню, в котором можно выбрать шрифт. После выбора шрифта введите

set guifont?

Чтобы показать, на что установлен текущий гифонт. После этого скопируйте эту строку в свой vimrc или gvimrc. Если в шрифте есть пробелы, добавьте, \чтобы избежать пробела.

set guifont=Monospace\ 20
FDinoff
источник
Я попробовал следующую команду в моем .vimrc: set guifont = h18 || set guifont = Monospace: h18 || установите guifont = 18, и если некоторые из них увеличивают размер полиции, возникает проблема: расстояние между символами очень велико. Зачем ?
Moebius
Я просто понял, что большое расстояние между символами связано с не монохромным шрифтом. Просто шрифты с монохромным внутри имени будут отображаться без большого пространства.
Moebius
Где найти vimrc? Я не нашел его в меню «Пуск» после установки vim на win8.1
Лей Ян
1
@LeiYang Если вы введете :versionvim, он должен указать места, где vim ищет файл. Это должно быть что - то вроде ~/.vimrc, ~/.vim/vimrc, $HOME/_vimrc.
FDinoff
Мне кажется глупым спрашивать об этом, но работает ли это на vim на терминале (т.е. не на gvim)?
0xc0de
15

Попробуйте \<Space>раньше 12, например:

:set guifont=Monospace\ 12
паскаль
источник
1

Я перехожу к той же проблеме, я помещаю в папку следующий код, ~/.gvimrcи он работает.

set guifont=Monaco:h20
Фан Би
источник
0

Добавьте Regular в синтаксис и используйте gfn:

установите gfn = Monospace \ Regular: h13

Фаршид
источник
0

Другие ответы - это то, о чем вы спрашивали, но в случае, если это будет полезно кому-то еще, вот как установить шрифт условно с экрана DPI (только для Windows):

set guifont=default
if has('windows')
    "get dpi, strip out utf-16 garbage and new lines
    "system() converts 0x00 to 0x01 for 'platform independence'
    "should return something like 'PixelsPerXLogicalInch=192'
    "get the part from the = to the end of the line (eg '=192') and strip
    "the first character
    "and convert to a number
    let dpi = str2nr(strpart(matchstr(substitute(
        \system('wmic desktopmonitor get PixelsPerXLogicalInch /value'),
        \'\%x01\|\%x0a\|\%x0a\|\%xff\|\%xfe', '', 'g'),
        \'=.*$'), 1))
    if dpi > 100
        set guifont=high_dpi_font
    endif
endif
9999лет
источник
@ 576i Что происходит , когда вы бежите wmic desktopmonitor get PixelsPerXLogicalInch /valueв cmd.exe?
9999years