如何在 Ubuntu 下正確顯示 vim-airline 的箭頭符號?

之前是在windows下編程,用的也是gvim7.4,相信用過vim並且對界面有強迫症的同學都折騰過airline或者powerline,我在windows下是用的win7系統自帶的consolas,不需要patch就有很好的symbol箭頭,但是轉戰ubuntu以後,使用了打好補丁了的Ubuntu Mono,感覺這個箭頭真的小了一號啊,在狀態欄和buffer上顯示真的會比較丑,如圖:

而且在windows下的表現很好的字體,移植到ubuntu下以後就發現和狀態欄會出現一點錯位,如圖:

有沒有大牛能支支招或者給一個ubuntu下可以顯示得比較舒服的字體?我的系統是ubuntu 14.04


如果要顯示正確的話,「黑三角」必須嚴格匹配行高,能做到的基本上只有在設計時就加入 Powerline 支持的,比如 Iosevka。後期打補丁很容易造成行高不匹配。而且基本上只能兼容默認行高,你調整行高之後就會失效。


我在 Ubuntu 14.04 上使用從 Lokaltog/powerline-fonts · GitHub 下載的字體,沒有出現題主的問題。題主不妨一試。注意,不要在 vimrc 中添加自定義的相關符號,只需要使用

let g:airline_powerline_fonts = 1

啟用 airline 即可。


首先你要安裝了補丁字體 powerline/fonts · GitHub

克隆之 然後運行./install.sh

然後重新設定字體(for gvim)比如 終端也要相應設定(for vim)

set guifont=DejaVu Sans Mono for Powerline 11 "config font for gvim 」for gvim

你需要 用vim 打開 ./vim-airline/doc/airline.txt 目錄中的airline.txt 找到下面的一些語句 將其複製到.vimrc中就可以了

例如 let g:airline_left_sep = "" 這裡" "" 在這裡顯示不出來 如果正確安裝了補丁字體會是實心的箭頭符號 有一個比較大的實心箭頭 和一個比較小的實心箭頭 選大的所在的那條語句複製到.vimrc中就可以正確契合的顯示箭頭符號了

當然你要事先在.vimrc中寫上

let g:airline_powerline_fonts=1

if !exists("g:airline_symbols")

let g:airline_symbols = {}

endif

這樣就好

注意;

用gedit等 複製可能不生效

用vim複製粘貼時可能報出關於fenc的警告 這時要輸入 :set fenc=

置空fenc 就可以了

附圖


1. Mac下iTerm2如下配置:

2. .vimrc中添加:

let g:airline_powerline_fonts = 1


具體做法請參考powerline的文檔,記得linux是由兩種方式的一種是fontconfig,一種是patched font,隨你喜歡,最後記得像 @王備 的答案中說的一樣,在你的vimrc文件中加上

let g:airline_powerline_fonts = 1

至於丑的問題,可以換一種字體啊,反正我用patched的Source Code Pro顯示效果很好


用這個字體試一試:Cousine Powerline


我從powerline給的做好的字體(也在hithub上)沒出現這問題


看看有沒有設置linespace吧

請嘗試set linespace=0


https://powerline.readthedocs.io/en/latest/installation/linux.html#font-installation


試試這個?http://blog.feng.zone/217.html


推薦閱讀:

為什麼比起 Emacs,更多人使用 vim?
vim8發布有一年了,有沒有基於vim8新特性開發的黑科技插件?
Linux裡面的vim做什麼用的?我在terminal裡面輸入vi進入vi編輯器,可是不知道這個編輯器能實現什麼功能?
如何讓vim像網頁一樣按Ctrl+放大字型大小?
在xshell等終端上看c++代碼用哪些插件更加方便?

TAG:字體 | Ubuntu | Vim | vimrc | Vim插件 |