欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

在Mac OS中为命令行界面和VIM添加状态提示栏的教程

程序员文章站 2022-05-28 21:29:47
这篇文章主要介绍了在Mac OS中为命令行界面和VIM添加状态提示栏的教程,包括对字体的美化等操作,需要的朋友可以参考下... 15-06-04...

什么是powerline
在Mac OS中为命令行界面和VIM添加状态提示栏的教程

如果你不是通过搜索引擎搜到这篇文章的话,也许你还没有听说过powerline。而你又恰巧是个*unix党,或者vim党的话,那么强烈建议你了解并使用powerline。powerline是一个stateless status line,即一个全局状态/提示栏。如果你成功为你的bash,terminal,iterm2,vim配置上powerline的话,那么效果将会是这样的:

bash的提示符将会是这样的:
在Mac OS中为命令行界面和VIM添加状态提示栏的教程

vim的状态栏将会是这样的:
在Mac OS中为命令行界面和VIM添加状态提示栏的教程

vim的整体效果图:
在Mac OS中为命令行界面和VIM添加状态提示栏的教程

相信看了以上几个截图后,powerline的功能也就不言而喻了。他提供了各个app各个环境下的状态提示,极大的提高了工作效率
开始mac上安装powerline

首先我们需要下载安装powerline。在正式安装之前先啰嗦几句powerline的代码结构,github上的powerline项目下涵盖了用于适配各种app(bash,vim等)的代码。因此,你完全可以在mac任何一个地方下载该代码包,然后将不同的app配置使用这个路径,以plugin形式加载。为了方便读者选择性安装,本文对于不同的程序将分开给出安装路径和配置。

先确定本机环境有一套版本大于等于2.7的python的环境。如果没有合适环境的话,可以通过homebrew安装,这里不多做赘述。

   

复制代码
代码如下:
shell> python -v
python 2.7.9

然后通过pip安装powerline:

   

复制代码
代码如下:
shell> pip install powerline-status[code]</p> <p>安装完成后通过pip show powerline-status查看powerline所处的具体路径。注意:这个路径很重要,会用在之后的配置环节:</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)中增加一行调用安装路径下的bindings/bash/powerline.sh即可。这样每次调用生成新的bash窗口时,都会自动执行powerline.sh文件中的内容。下面以~/.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

注意:根据python安装方式的不同,你的powerline所在路径也可能不同。如果你是通过python官网或者apple store通过安装工具安装的python,那么你的powerline安装路径就是/library/python/2.7/site-packages/powerline/。如果你是通过brew install python的话,那么你的powerline路径可能会有不同。请根据实际情况修改上面的命令。
teriminal字体配置

执行完上面两步后,不出意外powerline就已经开始工作了。但是你会发现bash提示符会和下图一样是一些非常恶心的符号。
在Mac OS中为命令行界面和VIM添加状态提示栏的教程

出现这样情况的原因是powerline为了美观自己造了一些符号,而这些符号不在unicode字库内(如果你不知道unicode字库是什么的话可以看下博主以前的相关介绍)。所以想要powerline正常显示的话,需要安装特殊处理过的字体。好在有一位热心人的帮助,他把大部分的程序猿常用的等宽字体都打上了powerline patch使得我们的这部配置将异常简单。首先我们从github上下载并安装字体:

   

复制代码
代码如下:
shell> git clone https://github.com/powerline/fonts.git
shell> cd fonts
shell> ./install.sh

安装完成后我们就可以在iterm2或者terminal的字体选项里看到并选择多个xxx for powerline的字体了。*注意:对于ascii fonts和non-ascii fonts都需要选择for powerline的字体。如下图:
在Mac OS中为命令行界面和VIM添加状态提示栏的教程

vim相关配置

这部分我们将介绍如何为vim配置powerline。首先你需要确保你的vim编译时开启了python支持。如果通过python --version|grep +python没有结果的话,那么你需要通过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和上文一样需要按照自己的实际情况调整。

   

复制代码
代码如下:
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)