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

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

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

set guifont = Monaco:h20
set guifont=Monospace 20

На самом деле мне нет дела до шрифта Монако.

Ответ 1

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

set guifont=Monaco:h20

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

set guifont=Monospace:h20

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

set guifont=*

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

set guifont?

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

set guifont=Monospace\ 20

Ответ 2

Попробуйте \<Space> до 12, вот так:

:set guifont=Monospace\ 12

Ответ 3

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

set gfn = Monospace\Regular: h13

Ответ 4

Вы также можете установить его в графическом интерфейсе vim без файла конфигурации.

Шаги:

  • Щелкните правой кнопкой мыши на vim → Профили → Настройки профиля
  • Снимите флажок Use the system fixed width font
  • Выберите шрифт и размер, например Monospace of 12 выглядит хорошо на моем компьютере.

Ответ 5

Другие ответы - это то, о чем вы просили, но в случае, если это полезно для кого-либо еще, heres, как установить шрифт условно с экрана 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

Ответ 6

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

set guifont=Monaco:h20