如何更改 Neovim 字体?
How to change Neovim font?
VIM 包含一个 'set guifont' 选项来改变字体。 Neovim does not support this option,所以我想知道是否可以更改 Neovim 在终端中使用的字体?
更改终端模拟器首选项中的字体。终端程序一般不能设置自己的字体。只有 Gvim 或 macvim 等 GUI 客户端使用 set guifont
选项。
这不适用于终端,但它可能对某些人有用。
对于 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
替换为您喜欢的字体。
我在我的 Ubuntu18.04 上使用 Neovim-qt 版本。但是我为 vim 使用相同的配置文件。
经过反复试验,我找到了将 neovim 字体更改为 FiraCode Monospace 的方法。虽然您可以在 GUI 中键入命令 :Guifont Fira Mono:h12
来更改当前使用的字体,但它只能使用一次。关闭 GUI 后,需要重新设置字体。 : (
或者你需要另一个配置文件 ginit.vim
来设置 GUI 相关的东西。同样的GUI字体设置问题,在ginit.vim
.
中写GuiFont Fira Mono:h12
即可
除了这个问题的答案之外,许多 scripts/plugins 适用于 vim/Gvim 但不适用于 NeoVim (qt) 的原因是在 NeoVim 中,字体由 Guifont
定义而不是 guifont
.
如何更改字体取决于您当前使用 Neovim 的方式:
对于终端 Neovim
如果您在终端中使用 Neovim,要更改 neovim 使用的字体,您需要更改终端使用的字体。查看您的终端手册,了解如何更改字体样式和字体大小等。
对于 Neovim GUI 客户端
对于 Neovim GUI 客户端,您需要在文件 ginit.vim
中设置字体。 ginit.vim
与 init.vim
[^1] 位于同一文件夹中。不同的 GUI 客户端有不同的命令来设置您使用的字体和字体大小。我尝试过的 GUI 客户端的不完整列表:
- nvim-qt:使用
ginit.vim
里面的comamnd GuiFont
来改变字体,比如GuiFont Hack:h12
(假设你安装了font Hack)
- fvim: fvim 是另一个 Neovim GUI 客户端。你可以在
ginit.vim
里面使用 set guifont=Hack:12
来设置 fvim 使用的字体。
[^1]:在 Neovim 中,使用 :echo stdpath('config')
显示该目录所在的平台。
我在 wsl 中使用了 neovim,所以如果你在 wsl 中询问我可以提供帮助。
更改终端字体,您可以在 wsl 的列表中执行此操作。
所以下载并安装你需要的字体和 cmd > 属性 > 字体并选择你的字体
添加其他出色的答案:如果您希望 lua 中的某些东西可以完成所有这些,您可以使用 size-matters.nvim。这是我为此目的编写的一个小插件。
VIM 包含一个 'set guifont' 选项来改变字体。 Neovim does not support this option,所以我想知道是否可以更改 Neovim 在终端中使用的字体?
更改终端模拟器首选项中的字体。终端程序一般不能设置自己的字体。只有 Gvim 或 macvim 等 GUI 客户端使用 set guifont
选项。
这不适用于终端,但它可能对某些人有用。
对于 Neovim-Qt GUI 客户端,如果将以下内容放入 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
对于那些喜欢使用键盘的人来说,有一个很好的方法来使用小键盘的 +
(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
替换为您喜欢的字体。
我在我的 Ubuntu18.04 上使用 Neovim-qt 版本。但是我为 vim 使用相同的配置文件。
经过反复试验,我找到了将 neovim 字体更改为 FiraCode Monospace 的方法。虽然您可以在 GUI 中键入命令 :Guifont Fira Mono:h12
来更改当前使用的字体,但它只能使用一次。关闭 GUI 后,需要重新设置字体。 : (
或者你需要另一个配置文件 ginit.vim
来设置 GUI 相关的东西。同样的GUI字体设置问题,在ginit.vim
.
GuiFont Fira Mono:h12
即可
除了这个问题的答案之外,许多 scripts/plugins 适用于 vim/Gvim 但不适用于 NeoVim (qt) 的原因是在 NeoVim 中,字体由 Guifont
定义而不是 guifont
.
如何更改字体取决于您当前使用 Neovim 的方式:
对于终端 Neovim
如果您在终端中使用 Neovim,要更改 neovim 使用的字体,您需要更改终端使用的字体。查看您的终端手册,了解如何更改字体样式和字体大小等。
对于 Neovim GUI 客户端
对于 Neovim GUI 客户端,您需要在文件 ginit.vim
中设置字体。 ginit.vim
与 init.vim
[^1] 位于同一文件夹中。不同的 GUI 客户端有不同的命令来设置您使用的字体和字体大小。我尝试过的 GUI 客户端的不完整列表:
- nvim-qt:使用
ginit.vim
里面的comamndGuiFont
来改变字体,比如GuiFont Hack:h12
(假设你安装了font Hack) - fvim: fvim 是另一个 Neovim GUI 客户端。你可以在
ginit.vim
里面使用set guifont=Hack:12
来设置 fvim 使用的字体。
[^1]:在 Neovim 中,使用 :echo stdpath('config')
显示该目录所在的平台。
我在 wsl 中使用了 neovim,所以如果你在 wsl 中询问我可以提供帮助。 更改终端字体,您可以在 wsl 的列表中执行此操作。
所以下载并安装你需要的字体和 cmd > 属性 > 字体并选择你的字体
添加其他出色的答案:如果您希望 lua 中的某些东西可以完成所有这些,您可以使用 size-matters.nvim。这是我为此目的编写的一个小插件。