¿Cómo hacer zoom al texto en VIM a través de un acceso directo?

11

Quiero acercar VIM, como Sublime text o Atom, usando CTRL +& CTRL -y CTRL 0para restablecer el tamaño de fuente predeterminado.

Fú sì dì nuò
fuente

Respuestas:

12

Si está utilizando vim en una terminal, simplemente puede usar sus accesos directos de zoom. Para Gnome-Terminal esto es Ctrl+ +. En otros puede ser Ctrl+ Shift+ +.

También hay varios complementos para este propósito. Por ejemplo: https://github.com/drmikehenry/vim-fontsize

Como alternativa, puede definir sus propias funciones como esta desde vim.wika.com

let s:pattern = '^\(.* \)\([1-9][0-9]*\)$'
let s:minfontsize = 6
let s:maxfontsize = 16
function! AdjustFontSize(amount)
  if has("gui_gtk2") && has("gui_running")
    let fontname = substitute(&guifont, s:pattern, '\1', '')
    let cursize = substitute(&guifont, s:pattern, '\2', '')
    let newsize = cursize + a:amount
    if (newsize >= s:minfontsize) && (newsize <= s:maxfontsize)
      let newfont = fontname . newsize
      let &guifont = newfont
    endif
  else
    echoerr "You need to run the GTK2 version of Vim to use this function."
  endif
endfunction

function! LargerFont()
  call AdjustFontSize(1)
endfunction
command! LargerFont call LargerFont()

function! SmallerFont()
  call AdjustFontSize(-1)
endfunction
command! SmallerFont call SmallerFont()

Luego, asigna dos teclas a :LargerFonty:SmallerFont

apparat
fuente
2

La respuesta de Apparat funciona para gVim; Si está utilizando Vim desde una Terminal, deberá configurar la terminal para cambiar el tamaño de fuente.

Para Xterm, me gusta usar:

XTerm*VT100.translations: #override \n\
    Ctrl <KeyPress> =:larger-vt-font() \n\
    Ctrl <KeyPress> -:smaller-vt-font()

En mi ~/.Xdefaultspara cambiar el tamaño de fuente con CTRL +y CTRL -.

Algunos terminales también responden a los códigos de escape para configurar la fuente; Sin embargo, para Xterm nunca he podido hacer que funcione correctamente ...

Martin Tournoij
fuente