Ответы:
Установите guifont
опцию в своем .gvimrc
. Смотрите :help guifont
и :help setting-guifont
.
В частности, вы можете сделать что-то вроде: set guifont=Consolas:h11
использовать Консоли в 11 пунктов в gvim на Windows. Есть несколько других опций, которые вы можете использовать (каждый разделен с a :
), например, :b
для жирного, хотя некоторые из них доступны только на определенных платформах.
:h
Возможность установить размер шрифта , как это демонстрируется, пожалуй, самый полезный, и один непосредственно связанные с изменением размера шрифта, как вы просили.
name:size
синтаксис работает только в Windows gVim, для gtk gVim вам нужно использовать name size
(пробел между именем шрифта и размером) ... Другие платформы могут иметь другие форматы ...
set guifont=
? Нет set gfn=
?
Если вы хотите просто изменить размер шрифта в работающем экземпляре GVim, введите:
:set guifont=*
Должно появиться окно, позволяющее установить размер шрифта, а также выбрать новый шрифт при желании. Затем вы можете попросить Vim напечатать строку, которую нужно добавить в свою строку, ~/.gvimrc
чтобы сделать изменение постоянным:
:set guifont?
Создает что-то вроде следующего в строке состояния:
guifont=Hasklig-Light:h16
Добавьте это с префиксом set
к вашему, ~/.gvimrc
чтобы сохранить.
В моем .vimrc есть следующее, чтобы быстро изменить размер шрифта без изменения шрифта. Работает на Windows и GTK. Я не тестировал другие графические интерфейсы. Я уверен, что первоначально скопировал это от кого-то еще, но это было в моем файле RC так долго, я не помню, откуда это взялось.
if has("unix")
function! FontSizePlus ()
let l:gf_size_whole = matchstr(&guifont, '\( \)\@<=\d\+$')
let l:gf_size_whole = l:gf_size_whole + 1
let l:new_font_size = ' '.l:gf_size_whole
let &guifont = substitute(&guifont, ' \d\+$', l:new_font_size, '')
endfunction
function! FontSizeMinus ()
let l:gf_size_whole = matchstr(&guifont, '\( \)\@<=\d\+$')
let l:gf_size_whole = l:gf_size_whole - 1
let l:new_font_size = ' '.l:gf_size_whole
let &guifont = substitute(&guifont, ' \d\+$', l:new_font_size, '')
endfunction
else
function! FontSizePlus ()
let l:gf_size_whole = matchstr(&guifont, '\(:h\)\@<=\d\+$')
let l:gf_size_whole = l:gf_size_whole + 1
let l:new_font_size = ':h'.l:gf_size_whole
let &guifont = substitute(&guifont, ':h\d\+$', l:new_font_size, '')
endfunction
function! FontSizeMinus ()
let l:gf_size_whole = matchstr(&guifont, '\(:h\)\@<=\d\+$')
let l:gf_size_whole = l:gf_size_whole - 1
let l:new_font_size = ':h'.l:gf_size_whole
let &guifont = substitute(&guifont, ':h\d\+$', l:new_font_size, '')
endfunction
endif
if has("gui_running")
nmap <S-F12> :call FontSizeMinus()<CR>
nmap <F12> :call FontSizePlus()<CR>
endif
has('unix')
это часто верно для систем OSX, и, по словам Джона , для OSX требуется тот же формат, что и для Windows ... Поэтому использование has('gui_gtk2')
, вероятно, лучше, чем использование has('unix')
.
Видимо, способ написания настроек шрифта довольно зависит от платформы. Что сработало для меня (gvim в MX Linux 17, (дистрибутив Linux на основе Debian с рабочим столом XFCE)):
: set guifont?
Пример: guifont=DejaVu Sans Mono 12
~/.gvimrc
файле, избегая пробелов с обратной косой чертой и не используя :
перед размером .Пример: set guifont=DejaVu\ Sans\ Mono\ 18
~/.gvimrc
файла новые экземпляры gvim должны использовать новый желаемый размер.Эти два ответа помогли мне:
А также комментарии этого:
Основываясь на ответе Дрю, эта установка работала лучше для меня.
Он увеличивает или уменьшает размер шрифта, используя \+
или \-
(если \
ваш лидер), и циклически перебирает предопределенные шрифты, используя cot
. Я часто переключаюсь между этими шрифтами в зависимости от того, работаю ли я с исходным кодом или текстом.
let g:fnt_types = ['SourceCode\ Pro', 'monofur' ]
let g:fnt_sizes = [ 10, 13 ]
let g:fnt_index = 0
let g:fnt_size = g:fnt_sizes[g:fnt_index]
function! CycleFont()
let g:fnt_index = (g:fnt_index + 1) % len(g:fnt_types)
let g:fnt_size = g:fnt_sizes[g:fnt_index]
call ResetFont()
endfunction
function! ResetFont ()
if has('gui_running')
exe ':set guifont=' . g:fnt_types[g:fnt_index] . '\ ' . string(g:fnt_size)
endif
endfunction
call ResetFont()
function! FontSizePlus ()
let g:fnt_size = g:fnt_size + 0.5
call ResetFont()
endfunction
function! FontSizeMinus ()
let g:fnt_size = g:fnt_size - 0.5
call ResetFont()
endfunction
nnoremap <leader>+ :call FontSizePlus()<cr>
nnoremap <leader>- :call FontSizeMinus()<cr>
nnoremap cot :call CycleFont()<cr>
Вы можете попробовать этот плагин: vim-fontzoom .
map <m-o> :Fontzoom!<cr>
map <m--> <Plug>(fontzoom-smaller)
map <m-=> <Plug>(fontzoom-larger)
:help 'guifont'
должна иметь необходимую информацию Также см. Как перейти к темам в документации Vim? , Быстро переключаться между шрифтами во время выполнения , как отобразить Font Awesome в Vim? ,