установить шрифт gvim в файле .vimrc


174

Я использую gVim 7.2 в Windows 7. Я могу установить шрифт gui как Consolas 10 (размер шрифта) из меню. Я пытаюсь установить это в .vimrcфайле, как показано ниже:

set guifont=Consolas\ 10

Но это не работает. Кто-нибудь знает, как это установить?

Ответы:


307

Я использую следующее (Использует Consolas размер 11 в Windows, Menlo Regular размер 14 в Mac OS X и Inconsolata размер 12 везде):

if has("gui_running")
  if has("gui_gtk2")
    set guifont=Inconsolata\ 12
  elseif has("gui_macvim")
    set guifont=Menlo\ Regular:h14
  elseif has("gui_win32")
    set guifont=Consolas:h11:cANSI
  endif
endif

Изменить: И в то время как вы на это, вы могли бы взглянуть на сообщение в блоге программирующих шрифтов Coding Horror .

Edit²: добавлен MacVim.


12
Так что в основном для Windows все, что вам нужно, это добавить set guifont=Consolas:h11:cANSIв ~/.vimrcфайл
Jasdeep Khalsa

9
Еще лучше сделать это из .gvimrc.
Алексей Аверченко


1
С Vim 8, использующим GTK 3, вы также должны проверить "gui_gtk3".
Рууд

2
Не могли бы вы добавить объяснение, почему cANSIиспользуется, и если это вообще необходимо?
anishpatel

83

Попробуйте установить свой шрифт из меню, а затем введите

:set guifont?

Это должно показать вам строку, для которой Vim установил эту опцию. Вам нужно будет избежать любых пробелов.


43

Я пытаюсь установить это в файле .vimrc, как показано ниже

Для конкретных настроек графического интерфейса используйте .gvimrcвместо .vimrc, который в Windows либо либо, $HOME\_gvimrcлибо $VIM\_gvimrc.

Проверьте :help .gvimrcдетали. В сущности, на запуск VIM читает .vimrc. После этого, если GUI активирован, он также читает .gvimrc. IOW, все общие настройки VIM должны быть сохранены .vimrc, все специфические для GUI вещи .gvimrc. (Но если вы не используете консоль VIM, то можете просто забыть о .vimrc.)

set guifont = Consolas \ 10

Синтаксис неверен. После :set guifont=*вы всегда можете проверить правильный синтаксис шрифта, используя :set guifont?. VIM Windows синтаксис есть :set guifont=Consolas:h10. Я не вижу точной спецификации для этого, хотя это упомянуто в :help win32-faq.


37
  1. Начните графическую сессию vim.
  2. Делать :e $MYGVIMRC Enter
  3. Используйте графический диалог выбора шрифта, чтобы выбрать шрифт.
  4. Тип :set guifont= Tab Enter.
  5. Введите, G oчтобы начать новую строку в конце файла.
  6. Тип Ctrl+ с Rпоследующим :.

Команда на шаге 6 вставит содержимое :специального регистра, который содержит последнюю использованную команду ex-mode. Здесь это будет команда из шага 4, которая имеет правильно отформатированное имя шрифта благодаря завершению вкладки значения, предварительно установленного с помощью диалогового окна GUI.


Я предполагаю, что это потому, что использование графического диалога выбора шрифта приводит к запуску команды, как и большинство (все?) Похожих GUI и пунктов меню в gvim. Иногда вы можете увидеть их эхо.
Евгений Сергеев

1
Я уверен, что меню запускает команду, но это не имеет значения; единственный эффект используемого здесь графического интерфейса состоит в том, что он устанавливает guifontпараметр, а не в том, что он запускает какую-либо конкретную команду.
qqx

Я должен был сделать ":pдля шага 6, чтобы получить последнюю команду ex-mode. Смотрите этот ответ .
Эрик

@erik Это команда в обычном режиме, и она не должна была работать там, поскольку шаг 5 переведет вас в режим вставки. Это также не гарантирует, что вставленная команда находится на отдельной строке.
qqx

@qqx: Хорошо, я виноват. Я вышел как-то из режима вставки. Ты прав. Отличное решение!
Эрик

11

Для Windows сделайте следующее:

  1. Запишите имя шрифта и размер шрифта в меню «Редактировать-Выбрать шрифт ...» в «gvim.exec».
  2. Тогда делай :e $MYGVIMRC
  3. Найдите строку "guifont" и измените ее на set guifont=<font name as noted>:h<font size>
  4. Сохраните файл и выйдите.
  5. В следующий раз, когда вы выполните gvim.exec, вы увидите эффект.

6

Хотя это старая ветка, я подумал, что добавлю комментарий, поскольку натолкнулся на него, пытаясь решить аналогичную проблему; это может помочь любому, кто может оказаться здесь:

Символ обратной косой черты используется для игнорирования следующего символа; после добавления к имени шрифта в моем gvimrc это сработало; Я на машине GNU / Linux, которая не любит пробелы. Я подозреваю, что первоначальное сообщение было ошибкой из-за обратной косой черты, используемой на машине с Windows.

В примере:

:set guifont?  ## From gvim command, would give the following:

set guifont = DejaVu Sans Mono для Powerline 11

Где, как мне нужно было добавить эту строку в файл gvimrc для его чтения:

set guifont=DejaVu\ Sans\ Mono\ for\ Powerline\ 11

0

Ubuntu 14.04 LTS

:/$ cd etc/vim/
:/etc/vim$ sudo gvim gvimrc

После if - endif block, введите

set guifont=Neep\ 10

сохраните файл (: wq!). Здесь «Neep» (ваш выбор) - это стиль шрифта, а «10» - размер шрифта. Затем создайте шрифт - снова кеш.

:/etc/vim$ fc-cache -f -v

Ваш желаемый шрифт будет установлен на gvim.


0

Я должен был в конечном итоге сделать: установить Guifont = Курьер: H10: CANSI

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.