NeoVim vim-devicons 未加载到 Windows 终端 (PowerShell) 中

问题描述 投票:0回答:3

我正在从 Windows Terminal Powershell 运行 Neovim (nvim),并且最近通过 vim-plug 安装了 vim-devicons。我注意到图标没有显示。在我的 Windows 终端配置中,我使用 Cascadia Code PL 所需的字体来显示 Oh-my-posh 和 posh-my-git,但是即使有明显有能力的字体 neovim 也不会显示它。但是,如果我打开 nvim-qt 它确实可以工作(也许它不包含自己的终端模拟器)。 有没有办法调整 neovim 中的配置以在 Windows 终端中正确显示 vim-devicons?

这是我的 profile.json:

{
      // Make changes here to the powershell.exe profile
      "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
      "name": "Windows PowerShell",
      "commandline": "powershell.exe",
      "fontFace": "Cascadia Code PL",
      "fontSize": 9,
      "useAcrylic": true,
      "acrylicOpacity": 0.7,
      "backgroundImage": "ms-appdata:///roaming/midnight_smuggler_1280x720.jpg",
      "backgroundImageOpacity": 0.4,
      "colorScheme": "cyberpunk",
      "hidden": false
    },

还有我本地的 nvim 配置:

"Plugin Section
call plug#begin('~/.vim/plugged')
   Plug 'scrooloose/nerdtree'
   Plug 'ryanoasis/vim-devicons'
call plug#end()


"Config
set encoding=UTF-8
"set guifont=
let g:NERDTreeShowHidden = 1
let g:NERDTreeMinimalUI = 1
let g:NERDTreeIgnore = []
let g:NERDTreeStatusline = ''
" Automaticaly close nvim if NERDTree is only thing left open
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
" Toggle
 nnoremap <silent> <C-b> :NERDTreeToggle<CR>
powershell neovim nerdtree
3个回答
0
投票

По умолчанию Windows Terminal использует шрифт Cascadia Code, который не поддерживает иконки, вот ваши дальнейшие шаги:

  1. Скачайте отсюда CaskaydiaCoveNerdFont-Regular.ttf
  2. В Windows Terminal измените шрифт с Coscadia Code на CoscaydiaCove Nerd Font
  3. Сохраните,перезапустите терминал
  4. Откройте nvim [фото иконок][2]

-1
投票

我刚刚发现我使用的是 Cascadia Code PL,它只有足够的字形用于 Oh-my-posh,只是配置了 Delugia Nerd 字体和 Windows 终端显示图标。


-1
投票

这是许多用户在首次安装 vim-airlineNERDTree 插件后非常常见的问题。因此,您必须执行以下几个步骤才能看到 vim-airline 以及 NERDTree 插件中的图标。

步骤1

使用任何插件管理器安装 vim-devicons https://github.com/ryanoasis/vim-devicons(我更喜欢 vim-plug。https://github.com/junegunn/vim-plug)并且将其放在

call plug#end()
命令之前,或者尝试在所有其他插件的末尾加载此插件(如果您使用任何其他方法来安装插件)并在下一行粘贴
set encoding=UTF-8
示例:

call plug#begin()
.
.
.
Plug 'https://github.com/ryanoasis/vim-devicons'
set encoding=UTF-8
call plug#end()

第2步

将以下代码粘贴到上一个循环之后

let g:NERDTreeDirArrowExpandable="+"
let g:NERDTreeDirArrowCollapsible="~"

" air-line
let g:airline_powerline_fonts = 1

if !exists('g:airline_symbols')
    let g:airline_symbols = {}
endif

" unicode symbols
let g:airline_left_sep = '»'
let g:airline_left_sep = '▶'
let g:airline_right_sep = '«'
let g:airline_right_sep = '◀'
let g:airline_symbols.linenr = '␊'
let g:airline_symbols.linenr = '␤'
let g:airline_symbols.linenr = '¶'
let g:airline_symbols.branch = '⎇'
let g:airline_symbols.paste = 'ρ'
let g:airline_symbols.paste = 'Þ'
let g:airline_symbols.paste = '∥'
let g:airline_symbols.whitespace = 'Ξ'
" airline symbols                                                                                                                              
let g:airline_left_sep = ''
let g:airline_left_alt_sep = ''
let g:airline_right_sep = ''
let g:airline_right_alt_sep = ''
let g:airline_symbols.branch = ''
let g:airline_symbols.readonly = ''
let g:airline_symbols.linenr = ''

let g:WebDevIconsUnicodeDecorateFolderNodes = 1
let g:WebDevIconsUnicodeDecorateFolderNodeDefaultSymbol = ''

let g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols = {}
let g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols['nerdtree'] = ''

第3步

https://www.nerdfonts.com/font-downloads 下载任何字体。我更喜欢 DejaVuSansMono Nerd 字体

第4步

unzip DejaVuSansMono.zip
并做
mv ~/.fonts
cd ~/.fonts

步骤5

最后你必须运行

fc-cache -fv
来手动重建字体缓存。现在重新打开vim或nvim,现在你会发现图标正确可见。 请为我的答案投票。

© www.soinside.com 2019 - 2024. All rights reserved.