gvim安装vim-airline后状态栏乱码,而且箭头显示不出来,咋回事

如题所述

:help airline

通过参考帮助文件,了解到vim-airline插件比较特殊,需进行些额外的操作才能达到最佳的显示效果。因为airline中的三角形箭头实际上是通过特殊的字符而非图片实现的,但是系统原先的字体库中并没有包含这类特殊的图形字符,因此,想要达到上图所示的显示效果,需要对系统字库“打补丁”,即添加特殊图形字符。

1.下载已经打过补丁的字体

HOME目录下新建一个.fonts文件夹

:$ mkdir ~/.fonts

然后 

$ cd ~/.fonts

进入文件夹,执行 

$git clone [email protected]:Lokaltog/powerline-fonts.git

下载已经打过补丁的字体文件。此时,

~/.fonts/

目录下已经存在打过补丁的常用系统字体文件了。

2.向系统中安装打过补丁的字体

运行

 $ fc-cache -vf ~/.fonts

安装patched fonts到系统中

3.设置终端字体为打过补丁的字体

Window系统下安装字体

git clone [email protected]:Lokaltog/powerline-fonts.git

Win+R,输入fonts,打开字体文件夹,直接将需要安装的字体拖拽到字体列表即可完成安装。


vim中输入 

:set guifont=*

选择字体

给出vimrc配置文件,供参考

"----------------------settings for airline(状态栏增强)------------------------------"

"Vim 在与屏幕/键盘交互时使用的编码(取决于实际的终端的设定)        
set encoding=utf-8
set langmenu=zh_CN.UTF-8
" 设置打开文件的编码格式  
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1 
set fileencoding=utf-8
"解决菜单乱码
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
"解决consle输出乱码
"set termencoding = cp936  
"设置中文提示
language messages zh_CN.utf-8 
"设置中文帮助
"set helplang=cn
"设置为双字宽显示,否则无法完整显示如:☆
set ambiwidth=double

let laststatus = 2
let g:airline_powerline_fonts = 1   " 使用powerline打过补丁的字体
" 开启tabline
let g:airline#extensions#tabline#enabled = 1      "tabline中当前buffer两端的分隔字符
let g:airline#extensions#tabline#left_sep = ' '   "tabline中未激活buffer两端的分隔字符
let g:airline#extensions#tabline#left_alt_sep = '|'      "tabline中buffer显示编号
let g:airline#extensions#tabline#buffer_nr_show = 1      
" 映射切换buffer的键位
nnoremap [b :bp<CR>
nnoremap ]b :bn<CR>

set guifont=DejaVu_Sans_Mono_for_Powerline:h12:cANSI   
"字体DejaVu Sans Mono for Powerline,需放在配置文件最后面

附上效果图

温馨提示:答案为网友推荐,仅供参考
相似回答