¿Cómo puedo cambiar el tamaño de fuente en gVim?


Respuestas:


32

Establezca la guifontopción en su .gvimrc. Ver :help guifonty :help setting-guifont.

Específicamente, puede hacer algo como: set guifont=Consolas:h11usar Consolas de 11 puntos en gvim en Windows. Hay algunas otras opciones que puede usar (cada una separada por a :), como :ben negrita, aunque algunas de estas solo están disponibles en ciertas plataformas.

La :hopción para establecer el tamaño de fuente como se muestra es probablemente la más útil, y la relacionada específicamente con cambiar el tamaño de la fuente, como usted solicitó.


66
Tenga en cuenta que la name:sizesintaxis solo funciona en Windows gVim, para gtk gVim debe usar name size(un espacio entre el nombre y el tamaño de la fuente) ... Otras plataformas pueden tener otros formatos ...
Martin Tournoij

:hXXfunciona en Mac también. Buen punto sobre GTK sin embargo.

set guifont=? No set gfn=?
Peter Mortensen

2
@PeterMortensen Ambos trabajan; Prefiero los formularios más largos porque los encuentro más legibles, y especialmente tiendo a usar los más largos en las respuestas.

Tenga en cuenta que el nombre del archivo en Windows (una opción común del sistema operativo) en realidad es: para MS-DOS y Win32: $ VIM \ _gvimrc o en mi caso ese archivo no existía y necesitaba crearlo de esa manera.
Wolfdawn

29

Si desea simplemente cambiar el tamaño de fuente en una instancia de GVim en ejecución, escriba:

:set guifont=*

Debería aparecer una ventana que le permitirá establecer el tamaño de la fuente, así como elegir una nueva fuente si lo desea. Luego puede pedirle a Vim que imprima la línea que necesitaría agregar a su ~/.gvimrcpara que el cambio sea permanente:

:set guifont?

Produce algo como lo siguiente en la línea de estado:

guifont=Hasklig-Light:h16

Agregue eso con el prefijo seta su ~/.gvimrcpara persistir.


13

Tengo lo siguiente en mi .vimrc para cambiar el tamaño de fuente rápidamente sin cambiar la fuente. Funciona en Windows y GTK. No he probado otras GUI. Estoy seguro de que originalmente lo copié de otra persona, pero ha estado en mi archivo rc tanto tiempo que no recuerdo de dónde vino.

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

44
Según esta respuesta , a has('unix')menudo es cierto en los sistemas OSX, y según John aquí , OSX requiere el mismo formato que Windows ... Por lo tanto, usar has('gui_gtk2')es probablemente mejor que usar has('unix').
Martin Tournoij

Esto funciona en Xubuntu (Xfce) donde: set guifont? devuelve texto como "Monospace Bold 11", sin los separadores de dos puntos y el prefijo "h" en el que se basa la respuesta seleccionada.
NeilG

5

Aparentemente, la forma de escribir la configuración de la fuente depende bastante de la plataforma. Lo que funcionó para mí (gvim en MX Linux 17, (una distribución de Linux basada en Debian con un escritorio XFCE)):

  • Determine la configuración de fuente actual en una instancia de gvim abierta usando : set guifont?

Ejemplo: guifont=DejaVu Sans Mono 12

  • Use esta información para escribir la configuración (modificando el tamaño como desee) en el ~/.gvimrcarchivo, escapando de los espacios con barras diagonales inversas y sin usar :antes del tamaño .

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

  • Después de guardar el ~/.gvimrcarchivo, las nuevas instancias de gvim deberían usar el nuevo tamaño deseado.

Estas dos respuestas me ayudaron:

Además de los comentarios de este:


4

Según la respuesta de Drew, esta configuración funcionó mejor para mí.

Se aumenta o disminuye de tamaño de fuente utilizando \+o \-(suponiendo \es su líder), y los ciclos a través de las fuentes predefinidas utilizando cot. A menudo cambio entre estas fuentes dependiendo de si estoy trabajando con código fuente o 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

Puedes probar este complemento: vim-fontzoom .

map <m-o> :Fontzoom!<cr>
map <m--> <Plug>(fontzoom-smaller)
map <m-=> <Plug>(fontzoom-larger)
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.