Comment puis-je changer la taille de la police dans gVim?

41

Existe-t-il un moyen de changer la taille de la police dans gVim en utilisant des commandes natives?

Et si non, quel script peut-on utiliser pour le faire rapidement?

glS
la source

Réponses:

32

Définissez l' guifontoption dans votre .gvimrc. Voir :help guifontet :help setting-guifont.

Vous pouvez notamment utiliser: set guifont=Consolas:h11Consolas à 11 points dans gvim sous Windows. Il existe quelques autres options que vous pouvez utiliser (chacune séparée par un a :), par exemple en :bgras, bien que certaines ne soient disponibles que sur certaines plates-formes.

L' :hoption permettant de définir la taille de la police comme indiqué est probablement la plus utile, et celle spécifiquement liée à la modification de la taille de la police, comme vous l'avez demandé.


la source
6
Notez que la name:sizesyntaxe ne fonctionne que sur Windows gVim. Pour gtk gVim, vous devez utiliser name size(espace entre le nom et la taille de la police) ... Les autres plateformes peuvent avoir d'autres formats ...
Martin Tournoij
:hXXfonctionne aussi sur le Mac. Bon point à propos de GTK cependant.
set guifont=? Non set gfn=?
Peter Mortensen
2
@PeterMortensen Les deux fonctionnent; Je préfère les formulaires les plus longs parce que je les trouve plus lisibles et j'ai surtout tendance à utiliser les plus longs dans les réponses.
Notez que le nom de fichier sous Windows (un choix de système d'exploitation commun) est en fait: pour MS-DOS et Win32: $ VIM \ _gvimrc ou, dans mon cas, ce fichier n'existe pas et je devais le créer de cette façon.
Wolfdawn le
29

Si vous souhaitez simplement modifier la taille de la police dans une instance GVim en cours d'exécution, tapez:

:set guifont=*

Une fenêtre devrait apparaître vous permettant de définir la taille de la police et de choisir une nouvelle police si vous le souhaitez. Vous pouvez ensuite demander à Vim d’imprimer la ligne à ajouter ~/.gvimrcpour rendre le changement permanent:

:set guifont?

Produit quelque chose comme ce qui suit dans la ligne d'état:

guifont=Hasklig-Light:h16

Ajoutez cela avec le préfixe setà votre ~/.gvimrcpour persister.

pkout
la source
13

J'ai le suivant dans mon .vimrc pour changer la taille de la police rapidement sans changer la police. Fonctionne sur Windows et GTK. Je n'ai pas testé d'autres interfaces graphiques. Je suis sûr que je l'avais copié à l'origine de quelqu'un d'autre, mais ça a été dans mon fichier rc si longtemps que je ne me souviens plus d'où il vient.

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
A dessiné
la source
4
Selon cette réponse , has('unix')est souvent vrai sur les systèmes OSX, et selon John ici , OSX requiert le même format que Windows ... Donc, utiliser has('gui_gtk2')est probablement mieux que d’utiliser has('unix').
Martin Tournoij le
Cela fonctionne sur Xubuntu (Xfce) où: set guifont? renvoie un texte du type "Monospace Bold 11", sans les séparateurs de deux points ni le préfixe "h" sur lequel la réponse sélectionnée s'appuie.
NeilG
5

Apparemment, la manière d'écrire les paramètres de police dépend beaucoup de la plate-forme. Ce qui a fonctionné pour moi (gvim dans MX Linux 17, (une distribution Linux basée sur Debian avec un bureau XFCE)):

  • Déterminez les paramètres de police actuels dans une instance ouverte de gvim en utilisant : set guifont?

Exemple: guifont=DejaVu Sans Mono 12

  • Utilisez ces informations pour écrire les paramètres (en modifiant la taille à votre guise) dans le ~/.gvimrcfichier, en évitant les espaces avec des barres obliques inverses et en n'utilisant pas :avant la taille .

Exemple: set guifont=DejaVu\ Sans\ Mono\ 18

  • Après avoir enregistré le ~/.gvimrcfichier, les nouvelles instances de gvim doivent utiliser la nouvelle taille souhaitée.

Ces deux réponses m'ont aidé:

En plus des commentaires de celui-ci:

bli
la source
4

Basé sur la réponse de Drew, cette configuration a mieux fonctionné pour moi.

Il augmente ou diminue la taille de police à l' aide \+ou \-( en supposant \est votre chef) et cycles à travers les polices prédéfinies à l' aide cot. Je permute souvent entre ces polices selon que je travaille avec du code source ou du texte.

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>
gauteh
la source
2

Vous pouvez essayer ce plugin: vim-fontzoom .

map <m-o> :Fontzoom!<cr>
map <m--> <Plug>(fontzoom-smaller)
map <m-=> <Plug>(fontzoom-larger)
tracyone
la source