什么是powerline
如果你不是通過搜索引擎搜到這篇文章的話,也許你還沒有聽說過powerline。而你又恰巧是個(gè)*UNIX黨,或者VIM黨的話,那么強(qiáng)烈建議你了解并使用powerline。powerline是一個(gè)stateless status line,即一個(gè)全局狀態(tài)/提示欄。如果你成功為你的bash,Terminal,iTerm2,VIM配置上powerline的話,那么效果將會(huì)是這樣的:
Bash的提示符將會(huì)是這樣的:
VIM的狀態(tài)欄將會(huì)是這樣的:
VIM的整體效果圖:
相信看了以上幾個(gè)截圖后,powerline的功能也就不言而喻了。他提供了各個(gè)app各個(gè)環(huán)境下的狀態(tài)提示,極大的提高了工作效率
開始Mac上安裝powerline
首先我們需要下載安裝powerline。在正式安裝之前先啰嗦幾句powerline的代碼結(jié)構(gòu),github上的powerline項(xiàng)目下涵蓋了用于適配各種APP(bash,vim等)的代碼。因此,你完全可以在Mac任何一個(gè)地方下載該代碼包,然后將不同的APP配置使用這個(gè)路徑,以Plugin形式加載。為了方便讀者選擇性安裝,本文對于不同的程序?qū)⒎珠_給出安裝路徑和配置。
先確定本機(jī)環(huán)境有一套版本大于等于2.7的Python的環(huán)境。如果沒有合適環(huán)境的話,可以通過homebrew安裝,這里不多做贅述。
shell> python -V
Python 2.7.9
然后通過pip安裝powerline:
shell> pip install powerline-status[code]/p>
p>安裝完成后通過pip show powerline-status查看powerline所處的具體路徑。注意:這個(gè)路徑很重要,會(huì)用在之后的配置環(huán)節(jié):/p>
p> [code]shell> pip show powerline-status
Name: powerline-status
Version: 2.0
Location: /Library/Python/2.7/site-packages
Requires:
配置Bash使用powerline
配置方法很簡單,只需要在Bash配置文件(例如:/etc/bashrc,~/.bashrc,~/.bash_profile)中增加一行調(diào)用安裝路徑下的bindings/bash/powerline.sh即可。這樣每次調(diào)用生成新的Bash窗口時(shí),都會(huì)自動(dòng)執(zhí)行powerline.sh文件中的內(nèi)容。下面以~/.bash_profile為例:
shell> echo EOF >> ~/.bash_profile
. /Library/Python/2.7/site-packages/powerline/bindings/bash/powerline.sh
EOF
shell> . /Library/Python/2.7/site-packages/powerline/bindings/bash/powerline.sh
注意:根據(jù)python安裝方式的不同,你的powerline所在路徑也可能不同。如果你是通過python官網(wǎng)或者apple store通過安裝工具安裝的python,那么你的powerline安裝路徑就是/Library/Python/2.7/site-packages/powerline/。如果你是通過brew install python的話,那么你的powerline路徑可能會(huì)有不同。請根據(jù)實(shí)際情況修改上面的命令。
Teriminal字體配置
執(zhí)行完上面兩步后,不出意外powerline就已經(jīng)開始工作了。但是你會(huì)發(fā)現(xiàn)Bash提示符會(huì)和下圖一樣是一些非常惡心的符號(hào)。
出現(xiàn)這樣情況的原因是powerline為了美觀自己造了一些符號(hào),而這些符號(hào)不在Unicode字庫內(nèi)(如果你不知道Unicode字庫是什么的話可以看下博主以前的相關(guān)介紹)。所以想要powerline正常顯示的話,需要安裝特殊處理過的字體。好在有一位熱心人的幫助,他把大部分的程序猿常用的等寬字體都打上了powerline patch使得我們的這部配置將異常簡單。首先我們從github上下載并安裝字體:
shell> git clone https://github.com/powerline/fonts.git
shell> cd fonts
shell> ./install.sh
安裝完成后我們就可以在iTerm2或者Terminal的字體選項(xiàng)里看到并選擇多個(gè)xxx for powerline的字體了。*注意:對于ASCII fonts和non-ASCII fonts都需要選擇for powerline的字體。如下圖:
VIM相關(guān)配置
這部分我們將介紹如何為VIM配置powerline。首先你需要確保你的vim編譯時(shí)開啟了python支持。如果通過python --version|grep +python沒有結(jié)果的話,那么你需要通過brew install vim --with-python --with-ruby --with-perl重新編譯安裝vim,或者使用brew install macvim --env-std --override-system-vim安裝macvim。
然后,你只需要在~/.vimrc中加上以下部分,VIM就能夠正常加載powerline功能了:
注意:其中set rtp+=/Library/Python/2.7/site-packages/powerline/bindings/vim和上文一樣需要按照自己的實(shí)際情況調(diào)整。
set rtp+=/Library/Python/2.7/site-packages/powerline/bindings/vim
" These lines setup the environment to show graphics and colors correctly.
set nocompatible
set t_Co=256
let g:minBufExplForceSyntaxEnable = 1
python from powerline.vim import setup as powerline_setup
python powerline_setup()
python del powerline_setup
if ! has('gui_running')
set ttimeoutlen=10
augroup FastEscape
autocmd!
au InsertEnter * set timeoutlen=0
au InsertLeave * set timeoutlen=1000
augroup END
endif
set laststatus=2 " Always display the statusline in all windows
set guifont=Inconsolata\ for\ Powerline:h14
set noshowmode " Hide the default mode text (e.g. -- INSERT -- below the statusline)