【问题标题】:How to change Neovim font?如何更改 Neovim 字体?
【发布时间】:2016-05-19 00:57:18
【问题描述】:

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

【问题讨论】:

    标签: neovim


    【解决方案1】:

    这不适用于终端,但它仍然可能对某人有用。

    对于 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

    【讨论】:

    • 我的系统 (Xubuntu 18.04) 上没有 Consolas 字体,但这有效:execute "GuiFont! DejaVu Sans Mono:h" . s:fontsize
    【解决方案2】:

    更改终端模拟器首选项中的字体。终端程序一般不能设置自己的字体。只有 Gvim 或 macvim 等 GUI 客户端使用 set guifont 选项。

    【讨论】:

      【解决方案3】:

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

      对于终端 Neovim

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

      对于 Neovim GUI 客户端

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

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

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          【解决方案5】:

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

          【讨论】:

            【解决方案6】:

            我在 wsl 中使用了 neovim,所以如果你在 wsl 中提问,我可以提供帮助。 更改终端字体,您将能够在 wsl 中的列表中执行此操作。

            所以下载并安装您需要的字体和 cmd > 属性 > 字体并选择您的字体

            【讨论】:

            • 我使用终端 priview,但我没有得到那种东西
            • 比选择所有字体,它会刷新所有字体并显示所有字体
            猜你喜欢
            • 1970-01-01
            • 2021-10-18
            • 2022-11-05
            • 2017-09-02
            • 1970-01-01
            • 2019-02-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多