如何改变Neovim字体?

时间:2016-02-09 06:27:14

标签: neovim

VIM包含一套guifont'更改字体的选项。 Neovim does not support this option,所以我想知道是否有可能改变Neovim在终端中使用的字体?

5 个答案:

答案 0 :(得分:11)

只需更改终端模拟器首选项中的字体即可。终端vim的行为方式相同。只有像Gvim或macvim这样的GUI客户端才使用set guifont选项。

答案 1 :(得分:9)

这不是用于终端的,但对于某些人来说仍然有用。

对于Neovim-Qt GUI客户端,如果将以下内容置于ginit.vim,则可以通过Ctrl +鼠标滚动来更改字体:

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

对于那些喜欢使用键盘的人来说,有一种很好的方式使用numpad的+kPlus)和-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

很明显,您可以将Consolas替换为您喜欢的字体。

答案 2 :(得分:7)

如何更改字体取决于您当前使用Neovim的方式:

对于终端Neovim

如果在终端中使用Neovim,要更改使用的Neovim字体,则需要更改终端使用的字体。查看终端机手册,了解如何更改字体样式和字体大小等。

对于Neovim GUI客户端

对于Neovim GUI客户端,您需要在文件ginit.vim中设置字体。 ginit.viminit.vim [^ 1]位于同一文件夹中。不同的GUI客户端使用不同的命令来设置您使用的字体和字体大小。我尝试过的GUI客户端的不完整列表:

  • nvim-qt:使用GuiFont内的逗号ginit.vim更改字体,例如GuiFont Hack:h12(假设您已安装字体Hack)。
  • fvim:fvim是另一个Neovim GUI客户端。您可以在set guifont=Hack:12中使用ginit.vim来设置fvim使用的字体。

[^ 1]:在Neovim中,使用:echo stdpath('config')显示该目录在您的平台上的位置。

答案 3 :(得分:1)

我在Ubuntu18.04上使用Neovim-qt版本。但是我为vim使用了相同的配置文件。

经过反复试验,我找到了将neovim字体更改为FiraCode Monospace的方法。尽管您可以在GUI中键入命令:Guifont Fira Mono:h12来更改当前使用的字体,但它只能工作一次。关闭GUI后,需要再次设置字体。 :(
或者,您需要另一个配置文件ginit.vim来设置与GUI相关的内容。为GUI设置字体存在相同的问题,只需在GuiFont Fira Mono:h12中写入ginit.vim

答案 4 :(得分:0)

除了该问题的答案外,许多适用于vim / Gvim但不适用于NeoVim(qt)的脚本/插件的原因是,在NeoVim中,字体是由Guifont而不是{{1}定义的}。