【发布时间】:2016-05-19 00:57:18
【问题描述】:
VIM 包含一个'set guifont' 选项来改变字体。 Neovim does not support this option,所以我想知道是否可以更改 Neovim 在终端中使用的字体?
【问题讨论】:
标签: neovim
VIM 包含一个'set guifont' 选项来改变字体。 Neovim does not support this option,所以我想知道是否可以更改 Neovim 在终端中使用的字体?
【问题讨论】:
标签: neovim
这不适用于终端,但它仍然可能对某人有用。
对于 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
对于喜欢使用键盘的人来说,有一个很好的方法可以使用小键盘的+ (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。
【讨论】:
:execute "GuiFont! DejaVu Sans Mono:h" . s:fontsize
更改终端模拟器首选项中的字体。终端程序一般不能设置自己的字体。只有 Gvim 或 macvim 等 GUI 客户端使用 set guifont 选项。
【讨论】:
如何更改字体取决于您当前使用 Neovim 的方式:
如果您在终端中使用 Neovim,要更改使用的 neovim 字体,您需要更改终端使用的字体。查看终端手册,了解如何更改字体样式和字体大小等。
对于 Neovim GUI 客户端,您需要在文件ginit.vim 中设置字体。 ginit.vim 与 init.vim[^1] 位于同一文件夹中。不同的 GUI 客户端有不同的命令来设置您使用的字体和字体大小。我尝试过的 GUI 客户端列表不完整:
ginit.vim内的命令GuiFont更改字体,例如GuiFont Hack:h12(假设您已安装字体Hack)。ginit.vim 中使用set guifont=Hack:12 来设置fvim 使用的字体。[^1]:在 Neovim 中,使用 :echo stdpath('config') 显示该目录在您的平台上的位置。
【讨论】:
我在 Ubuntu18.04 上使用 Neovim-qt 版本。但我为我的 vim 使用相同的配置文件。
经过反复试验,我找到了将neovim字体更改为FiraCode Monospace的方法。尽管您可以在 GUI 中键入命令 :Guifont Fira Mono:h12 来更改当前使用的字体,但它只能工作一次。关闭 GUI 后,需要重新设置字体。 : (
或者你需要另一个配置文件ginit.vim 来设置与 GUI 相关的东西。 GUI设置字体同样的问题,在ginit.vim中写GuiFont Fira Mono:h12即可。
【讨论】:
除了这个问题的答案之外,许多适用于 vim/Gvim 但不适用于 NeoVim (qt) 的脚本/插件的原因是,在 NeoVim 中,字体由Guifont 定义,而不是guifont。
【讨论】:
我在 wsl 中使用了 neovim,所以如果你在 wsl 中提问,我可以提供帮助。 更改终端字体,您将能够在 wsl 中的列表中执行此操作。
所以下载并安装您需要的字体和 cmd > 属性 > 字体并选择您的字体
【讨论】: