合适字体可以方便识别,提高效率和心情,不能说不重要! 💋
本人用的是Mac
系统,这里说明的是Mac
系统下配置。其它系统要关注和解决的问题类似,可以参照自行配置,如碰到问题可以搜索一下,或是提个Issue一起讨论。
- 对在控制台中运行的
Vim
命令,字体由终端配置。 GUI Vim
由Vim
自己来配置。
Mac
下,终端常用的是iTerm
和系统自带的terminal
应用,GUI Vim
用的是MacVim
应用。
本人使用的是Mac
下iTerm
终端,相比系统自带的terminal
终端应用有不少贴心功能。
在字体配置方面,iTerm
可以配置多重字体,并且对字体中字符的Fallback
处理的很不错。
# Fallback
是指,如果一个字符在一种字体中没有包含时,如果找到且使用包含这个字符的字体。
推荐使用字体 Monaco
,加上Powerline
字体 Droid Sans Mono Dotted for Powerline
作为第二字体。
iTerm
的字体配置方法如下:
本人的iTerm
具体字体配置:第一重字体 Monaco
16号;第二重字体 Droid Sans Mono Dotted for Powerline
16号。
注意: 这里也给出了字体大小的具体说明,是因为自己在字体配置的过程中发现:
不同的字体大小、不同具体Powerline
字体,Powerline
字体中的特殊字体如『左右三角、箭头』效果会有优劣…… 😫
这样配置后:
- 对于英文字符,会首先可以用苹果
Mac
系统下高质量字体Monaco
(当然也可以用其它你喜欢合口味的英文等宽字体)。 - 对于
Powerline
字体中的加强字符,英文字体中没有包含,通过配置的第二重Powerline
字体Droid Sans Mono Dotted for Powerline
,可以正常显示。
#Vim
的Powerline
安装和配置,见后面一节的说明。 - 对于其它的字体(如中文字符),
iTerm
会Fallback
到系统的缺省字体,对于MacOS Sierra 10.12
,选择的是 苹方 字体。
#MacVim
这一级Fallback
就不是 苹方 字体 😩 ,效果差!详见MacVim
的字体配置的说明。
最终效果不错,截图如下。
MacVim
的多层字体配置,通过Vim
的guifont
和guifontwide
2个选项配置。
本人的MacVim
具体字体配置:第一重字体 Consolas
16号;第二重字体 STXihei
(华文细黑) 16号。
对应在Vim
配置文件添加:
" 配置英文字体
set guifont=Consolas:h16
" 指定宽字符的字体,如中文字符
" 实际上使用这个字体下的字符都会占用2倍的宽度
set guifontwide=STXihei:h16
个人在配置过程中,碰到的问题及其解决方法:
- 本人 不会 使用
Powerline
字体作为第一字体,因为系统自带字体Monaco
、Consolas
的英文等宽字体的质量很高。 - 使用
Powerline
字体作为guifontwide
后,中文字符的字体在MacVim
下显示很差,即Fallback
的字体不好。
基于上面原因,在MacVim
下,我放弃了Airline
的Powerline
字符,配置方式如下:
" 如果运行的不是GUI(即MacVim),才启用Airline的Powerline字符
if ! has('gui_running')
let g:airline_powerline_fonts=1
endif
最终效果不错,截图如下。
如果你使用了Vim
配置版spf13-vim
,Airline
已经一起安装和配置好了。
官网vim-airline, Lean & mean status/tabline for vim that's light as air,有独立的安装说明。
git clone [email protected]:powerline/fonts.git
cd fonts
./install.sh
更多说明详见官网 https://github.com/powerline/fonts。
如果你使用的是spf13-vim
配置版,参见其Airline
一节的说明。
官网vim-airline, Lean & mean status/tabline for vim that's light as air,有独立的配置说明。