Como posso alterar o tamanho da fonte no gVim?


Respostas:


32

Defina a guifontopção no seu .gvimrc. Veja :help guifonte :help setting-guifont.

Especificamente, você pode fazer algo como: set guifont=Consolas:h11usar Consolas de 11 pontos no gvim no Windows. Existem algumas outras opções que você pode usar (cada uma separada com a :), como :bem negrito, embora algumas estejam disponíveis apenas em determinadas plataformas.

A :hopção de definir o tamanho da fonte, conforme demonstrado, é provavelmente a mais útil, e aquela especificamente relacionada à alteração do tamanho da fonte, conforme solicitado.


6
Note que a name:sizesintaxe única funciona no Windows gVim, para GTK gVim você precisa para uso name size(um espaço entre o nome da fonte e tamanho) ... Outras plataformas podem ter outros formatos ...
Martin Tournoij

:hXXfunciona no Mac também. Bom ponto sobre GTK embora.

set guifont=? Não set gfn=?
Peter Mortensen

2
@PeterMortensen Ambos funcionam; Prefiro as formas mais longas porque as acho mais legíveis e, especialmente, tendem a usar as mais longas nas respostas.

Observe que o nome do arquivo no Windows (uma opção comum do sistema operacional) é realmente: para MS-DOS e Win32: $ VIM \ _gvimrc ou, no meu caso, esse arquivo não existia e eu precisava criá-lo dessa maneira.
wolfdawn 15/06

29

Se você quiser simplesmente alterar o tamanho da fonte em uma instância do GVim em execução, digite:

:set guifont=*

Uma janela deve aparecer, permitindo que você defina o tamanho da fonte e escolha uma nova fonte, se desejar. Em seguida, você pode solicitar ao Vim para imprimir a linha que você precisará adicionar ao seu ~/.gvimrcpara tornar a alteração permanente:

:set guifont?

Produz algo como o seguinte na linha de status:

guifont=Hasklig-Light:h16

Adicione isso com o prefixo setao seu ~/.gvimrcpara persistir.


13

Eu tenho o seguinte no meu .vimrc para alterar o tamanho da fonte rapidamente, sem alterar a fonte. Funciona no Windows e GTK. Eu não testei outras GUIs. Tenho certeza de que originalmente o copiei de outra pessoa, mas está no meu arquivo rc há tanto tempo que não me lembro de onde ele veio.

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

4
De acordo com essa resposta , has('unix')geralmente é verdade nos sistemas OSX e, de acordo com John aqui , o OSX requer o mesmo formato do Windows ... Portanto, o uso has('gui_gtk2')é provavelmente melhor do que o uso has('unix').
Martin Tournoij

Isso funciona no Xubuntu (Xfce) onde: define o guifont? retorna texto como "Monospace Bold 11", sem os separadores de dois pontos e o prefixo "h" em que a resposta selecionada se baseia.
NeilG 27/11

5

Aparentemente, a maneira de escrever as configurações da fonte depende bastante da plataforma. O que funcionou para mim (gvim no MX Linux 17, (uma distribuição Linux baseada no Debian com um desktop XFCE)):

  • Determine as configurações de fonte atuais em uma instância aberta do gvim usando : set guifont?

Exemplo: guifont=DejaVu Sans Mono 12

  • Use essas informações para gravar as configurações (modificando o tamanho conforme desejado) no ~/.gvimrcarquivo, escapando dos espaços com barras invertidas e não usando :antes do tamanho .

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

  • Após salvar o ~/.gvimrcarquivo, novas instâncias do gvim devem usar o novo tamanho desejado.

Essas duas respostas me ajudaram:

Bem como os comentários deste:


4

Com base na resposta de Drew, essa configuração funcionou melhor para mim.

Ele aumenta ou diminui font-size utilizando \+ou \-(assumindo que \é o seu líder), e ciclos através das fontes pré-definidas usando cot. Geralmente troco entre essas fontes, dependendo de estar trabalhando com código-fonte ou texto.

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>

2

Você pode tentar este plugin: vim-fontzoom .

map <m-o> :Fontzoom!<cr>
map <m--> <Plug>(fontzoom-smaller)
map <m-=> <Plug>(fontzoom-larger)
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.