Як встановити розмір шрифту за замовчуванням у Vim?


94

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

Ось деякі речі, які я спробував (у файлі .vimrc):

set guifont = Monaco:h20
set guifont=Monospace 20

Насправді мене не хвилює шрифт Монако.


Перший виглядає правильно. Ви перезапустили vim? Крім того, чи існує шрифт на вашому комп'ютері?
Роб

4
Vim постачається з дуже великою документацією. Не шукайте в Інтернеті: використовуйте :helpзамість цього; це швидше та авторитетніше. У вашому випадку вам :help font<C-d>було б достатньо простого, щоб знайти :help guifontі навчитися set guifontправильно застосовувати систему.
romainl

Відповіді:


201

Для першого видаліть пробіли. Пробіл має значення для заданої команди.

set guifont=Monaco:h20

Для другого він повинен бути (h визначає висоту)

set guifont=Monospace:h20

Моя рекомендація щодо встановлення шрифту - це зробити (якщо ваша версія підтримує це)

set guifont=*

Після цього з’явиться меню, що дозволяє вибрати шрифт. Вибравши шрифт, введіть

set guifont?

Щоб показати, для чого встановлено поточний guifont. Після цього скопіюйте цей рядок у ваш vimrc або gvimrc. Якщо в шрифті є пробіли, додайте a, \щоб уникнути пробілу.

set guifont=Monospace\ 20

Я спробував наступну команду у своєму .vimrc: set guifont = h18 || встановити guifont = Monospace: h18 || set guifont = 18, і якщо деякі з них роблять поліцію більшою, існує проблема: простір між кожним символом дуже широкий. Чому?
Мебій

Я тільки що зрозумів, що широкий простір між символами обумовлений шрифтом, який є немонографічним. Лише шрифти з монографією всередині назви відображатимуться без простору.
Мебій

Де знайти vimrc? Я не знайшов його в меню «Пуск» після встановлення vim на win8.1
Lei Yang

1
@LeiYang Якщо ви вводите :versionvim, він повинен вказати місця, де vim шукає файл. Це повинно бути що - щось на зразок ~/.vimrc, ~/.vim/vimrc, $HOME/_vimrc.
FDinoff

Я почуваюся безглуздо, запитуючи це, але чи працює це на vim на терміналі (тобто не gvim)?
0xc0de


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

@ 576i Що відбувається , коли ви біжите wmic desktopmonitor get PixelsPerXLogicalInch /valueв cmd.exe?
9999 років

0

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

set guifont=Monaco:h20
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.