Alterne rapidamente entre fontes em tempo de execução

11

Embora as fontes possam ser selecionadas manualmente no GVim no menu, eu tenho algumas fontes preferidas que eu gostaria de alternar, dependendo da tarefa em questão (bitmap pequeno, OTF maior ... etc) .

Existe uma maneira de configurar a ligação de teclas para percorrer uma lista de fontes predefinidas no meu vimrc?

ideasman42
fonte

Respostas:

11

A ideia básica pode ser algo como:

" Define a list of the fonts you want to use, and the index in the 
" list of the default font. See :help Lists
let g:fc_list = [
\   "DejaVu Sans Mono 9",
\   "Source Code Pro 12",
\   "GohuFont 11"
\   ]
let g:fc_current = 0

" Set default font
let &guifont = g:fc_list[g:fc_current]

function! FontCycle()
  " Increment circular list. See :help expr-%
  let g:fc_current = (g:fc_current + 1) % len(g:fc_list)
  let &guifont = g:fc_list[g:fc_current]
endfunction

noremap <leader>fc :call FontCycle()<cr>
toro2k
fonte
7

Eu tenho o seguinte definido no meu arquivo .vimrc.

set guifont=DejaVu\ Sans\ Mono\ for\ Powerline\ 10

Então você pode configurá-lo como um mapeamento como este ...

nmap <Leader>f :set guifont=DejaVu\ Sans\ Mono\ for\ Powerline\ 10<CR>

Adicione mapeamentos adicionais para outras fontes.

Quincy Bowers
fonte