How to change Neovim font?

一世执手 提交于 2019-12-01 07:40:42

Just change the font in your terminal emulator's preferences. Terminal vim behaves the same way. Only GUI clients like Gvim or macvim use the set guifont option.

This is not for a terminal, but still it might be useful to someone.

For Neovim-Qt GUI client, you can change the font by Ctrl + mouse scroll if you put the following to ginit.vim:

let s:fontsize = 12
function! AdjustFontSize(amount)
  let s:fontsize = s:fontsize+a:amount
  :execute "GuiFont! Consolas:h" . s:fontsize
endfunction

noremap <C-ScrollWheelUp> :call AdjustFontSize(1)<CR>
noremap <C-ScrollWheelDown> :call AdjustFontSize(-1)<CR>
inoremap <C-ScrollWheelUp> <Esc>:call AdjustFontSize(1)<CR>a
inoremap <C-ScrollWheelDown> <Esc>:call AdjustFontSize(-1)<CR>a

For those who prefer using keyboard, there is a nice way to use numpad's + (kPlus) and - (kMinus)

" In normal mode, pressing numpad's+ increases the font
noremap <kPlus> :call AdjustFontSize(1)<CR>
noremap <kMinus> :call AdjustFontSize(-1)<CR>

" In insert mode, pressing ctrl + numpad's+ increases the font
inoremap <C-kPlus> <Esc>:call AdjustFontSize(1)<CR>a
inoremap <C-kMinus> <Esc>:call AdjustFontSize(-1)<CR>a

Obviously you can replace Consolas with the font you prefer.

I use Neovim-qt version on my Ubuntu18.04. But I use the same config file for my vim.

After trial-and-error, I found the way to change neovim font to FiraCode Monospace. Although you could type the command :Guifont Fira Mono:h12 inside GUI to change the currently used font, it works only once. After you close the GUI, need to set up the font again. : (
Or you need another config file ginit.vim to set up GUI-related things. The same problem of setting up font for GUI, just write GuiFont Fira Mono:h12 in ginit.vim.

Apart from the answers in this question, the reason many scripts/plugins that works for vim/Gvim but not NeoVim (qt) is that in NeoVim, the font is defined by Guifont instead of guifont.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!