Comment zoomer sur du texte dans VIM via un raccourci?

11

Je veux zoomer dans VIM, comme Sublime text ou Atom, en utilisant CTRL +& CTRL -et CTRL 0pour réinitialiser la taille de police par défaut.

Fú sì dì nuò
la source

Réponses:

12

Si vous utilisez vim dans un terminal, vous pouvez simplement utiliser ses raccourcis de zoom. Pour Gnome-Terminal, c'est Ctrl+ +. Dans d'autres, cela peut être Ctrl+ Shift+ +.

Il existe également plusieurs plugins à cet effet. ex: https://github.com/drmikehenry/vim-fontsize

Comme alternative, vous pouvez définir vos propres fonctions comme celle-ci sur 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()

Puis mappez deux clés vers :LargerFontet:SmallerFont

apparat
la source
2

La réponse d'Apparat fonctionne pour gVim; si vous utilisez Vim à partir d'un terminal, vous devrez configurer le terminal pour modifier la taille de la police.

Pour Xterm, j'aime utiliser:

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

Dans mon ~/.Xdefaultspour changer la taille de la police avec CTRL +et CTRL -.

Certains terminaux répondent également aux codes d'échappement pour définir la police; pour Xterm, je n'ai jamais réussi à faire fonctionner cela correctement, cependant ...

Martin Tournoij
la source