Xterm配置

时间:2015-10-16 05:38:36

标签: vim xterm

我在我的archlinx中使用xterm模拟器,Xresource配置是这样的:

XTerm*locale: true
Xterm*faceName: Monaco:antialias=true
XTerm*faceNameDoublesize: WenQuanYi micro hei:antialias=true
XTerm*background: black
XTerm*foreground: gray

我是中国人,所以我将XTerm*faceNameDoublesize设置为中文字体,但当我使用vim-airline plugin时,状态行中的符号无法显示如下:

和此:

let g:airline_left_sep = '▶'
let g:airline_symbols.branch = '⎇'

(上面的符号不能显示在xterm中)

我使用另一个终端模拟器来执行此操作并且没关系,所以我认为我的xterm是错误的,但我无法找到原因。

1 个答案:

答案 0 :(得分:0)

根本问题是g:airline_powerline_fonts = 1使用单一字体(而不是字体集),如果字体中缺少特殊字符,则不会按预期显示。

然而,这不是这里提出的问题。相反,它是“如何使插件按预期工作”。

关于g:airline_powerline_fonts的评论是一条线索,但不完整。在提到vim-airline FAQ时,我们发现了一个模糊的陈述:

  

在你的vimrc中添加let g:airline_powerline_fonts = 1将自动使用各种符号的正确字体字形填充g:airline_symbols字典。

我发现了一些关于这个主题的相关问题,但所有问题都是从常见问题解答中删除/粘贴的,所以我不会提及它们。

实际上,阅读源代码(init.vim)可以提供更好的解释(FAQ条目无用)。源代码的作用是将插件初始化插件为各种特殊字符的Unicode或ASCII值,具体取决于.vimrc变量。在OP的问题中,他显然在插件初始化后设置了值,这对于变量设置是有用的为时已晚。为了与插件正确集成,他的{{1}}应该执行与插件类似的操作,并考虑此变量。