У меня много разных машин, в которые я вхожу, и ни у одной из них нет приличных общих шрифтов. Итак, я хотел бы иметь возможность иметь свой первый предпочтение для шрифта, но если его нет на компьютере, используйте другой и так далее. Кто-нибудь делал это раньше?
...
Так что после перечитывания справки по guifont кажется, что я должен иметь возможность определять несколько шрифтов через запятую. Самое смешное, что в моем .vimrc есть следующая строка:
set guifont=-dt-interface\ user-medium-r-normal-*-*-100-*-*-m-*-iso8859-1,Liberation\ Mono\ 8
И на одной машине (gvim 7.1) я делаю
:set gfn?
guifont=-dt-interface user-medium-r-normal-*-*-100-*-*-m-*-iso8859-1
И на другой машине (gvim 7.2) я получаю:
:set gfn?
guifont=-dt-interface user-medium-r-normal-*-*-100-*-*-m-*-iso8859-1,Liberation Mono 8
Я попытаюсь запустить 7.1 на неправильной машине и посмотреть, исправит ли она проблему, и если да, то не кажется ли это ошибкой в 7.2?
РЕШЕНИЕ
Вот код, который я использовал для решения проблемы. Это кажется очень хрупким, но это, по крайней мере, позволяет мне добиться некоторого прогресса в моей настоящей работе:
" SETTINGS FOR GUI ONLY MODE
: Trying to emulate how it should work but on some machines it will not select the available font
" set guifont=-dt-interface\ user-medium-r-normal-*-*-100-*-*-m-*-iso8859-1,Liberation\ Mono\ 8
let g:MyFontPre = ''
let g:MyFontPost = ''
let g:MyFontSize = '8'
if has("gui_running")
if ( match(hostname(), 'server5-1..') >= 0 )
let g:MyFontSize = '10'
let g:MyFontPre = '-dt-interface\ user-medium-r-normal-*-*-'
let g:MyFontPost = '0-*-*-m-*-iso8859-1'
elseif ( match(hostname(), 'server5-3..') >= 0 )
let g:MyFontPre = 'Liberation\ Mono\ '
let g:MyFontPost = ''
else
" Leave it the default for now
endif
execute "set guifont=".g:MyFontPre."".g:MyFontSize."".g:MyFontPost
endif
" FONT SIZE SHORTCUTS
function! ToggleMyFontSize()
if ( g:MyFontSize == 12 )
let g:MyFontSize = 8
execute "set guifont=".g:MyFontPre."".g:MyFontSize."".g:MyFontPost
elseif ( g:MyFontSize == 8 )
let g:MyFontSize = 10
execute "set guifont=".g:MyFontPre."".g:MyFontSize."".g:MyFontPost
elseif ( g:MyFontSize == 10 )
let g:MyFontSize = 12
execute "set guifont=".g:MyFontPre."".g:MyFontSize."".g:MyFontPost
endif
endfunction
nnoremap <silent> <F12> :call ToggleMyFontSize()<CR>