为Bash和VIM配置一个美观奢华的状态提示栏

为Bash和VIM配置一个美观奢华的状态提示栏

本文将详细介绍在Mac环境下安装powerline的方式

什么是powerline

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

Bash的提示符将会是这样的:

Bash

VIM的状态栏将会是这样的:

vim

VIM的整体效果图:

whole

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

开始Mac上安装powerline

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

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


  1. shell> python -V
  2. Python 2.7.9

然后通过pip安装powerline:


  1. shell> pip install powerline-status

安装完成后通过pip show powerline-status查看powerline所处的具体路径。注意:这个路径很重要,会用在之后的配置环节:


  1. shell> pip show powerline-status
  2. Name: powerline-status
  3. Version: 2.0
  4. Location: /Library/Python/2.7/site-packages
  5. Requires:

配置Bash使用powerline

配置方法很简单,只需要在Bash配置文件(例如:/etc/bashrc~/.bashrc~/.bash_profile)中增加一行调用安装路径下的bindings/bash/powerline.sh即可。这样每次调用生成新的Bash窗口时,都会自动执行powerline.sh文件中的内容。下面以~/.bash_profile为例:


  1. shell> echo << EOF >> ~/.bash_profile
  2. . /Library/Python/2.7/site-packages/powerline/bindings/bash/powerline.sh
  3. EOF
  4. 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提示符会和下图一样是一些非常恶心的符号。

mojibake

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


  1. shell> git clone https://github.com/powerline/fonts.git
  2. shell> cd fonts
  3. shell> ./install.sh

安装完成后我们就可以在iTerm2或者Terminal的字体选项里看到并选择多个xxx for powerline的字体了。*注意:对于ASCII fontsnon-ASCII fonts都需要选择for powerline的字体。如下图:

fonts

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和上文一样需要按照自己的实际情况调整。


  1. set rtp+=/Library/Python/2.7/site-packages/powerline/bindings/vim
  2. " These lines setup the environment to show graphics and colors correctly.
  3. set nocompatible
  4. set t_Co=256
  5. let g:minBufExplForceSyntaxEnable = 1
  6. python from powerline.vim import setup as powerline_setup
  7. python powerline_setup()
  8. python del powerline_setup
  9. if ! has('gui_running')
  10. set ttimeoutlen=10
  11. augroup FastEscape
  12. autocmd!
  13. au InsertEnter * set timeoutlen=0
  14. au InsertLeave * set timeoutlen=1000
  15. augroup END
  16. endif
  17. set laststatus=2 " Always display the statusline in all windows
  18. set guifont=Inconsolata\ for\ Powerline:h14
  19. set noshowmode " Hide the default mode text (e.g. -- INSERT -- below the statusline)

原文发布时间:2015-04-14

本文来自云栖合作伙伴“linux中国”

时间: 2024-11-10 07:53:36

为Bash和VIM配置一个美观奢华的状态提示栏的相关文章

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

  什么是powerline 如果你不是通过搜索引擎搜到这篇文章的话,也许你还没有听说过powerline.而你又恰巧是个*UNIX党,或者VIM党的话,那么强烈建议你了解并使用powerline.powerline是一个stateless status line,即一个全局状态/提示栏.如果你成功为你的bash,Terminal,iTerm2,VIM配置上powerline的话,那么效果将会是这样的: Bash的提示符将会是这样的: VIM的状态栏将会是这样的: VIM的整体效果图: 相信看了

超级强大的vim配置(vimplus)

From : http://www.cnblogs.com/highway-9/p/5984285.html From : http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html From : http://www.cnblogs.com/youxia/p/linux002.html From : http://blog.csdn.net/namecyf/article/details/7787479 最近在重新配置Vim,也在

TaoBeier 的 Vim 配置,支持 Python、Javascript、Golang 等

这是 TaoBeier 精心打造的 Vim 环境配置,支持 Python.Javascript.Vue.js.Golang 和 Markdown. 安装 你需要一个有 Python 支持的 Vim 版本.请使用 vim --version | grep +python 来检查确认. 依赖 Debian/Ubuntu 平台 sudo apt-get install python vim exuberant-ctags git sudo pip install dbgp pep8 flake8 py

【Linux基础】vim配置及插件安装管理

1 写在前面   Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE. 但是对我等从Windows平台转移过来的Coder来说, 一个好用的IDE是何等的重要啊, 估计很多人就是卡在这个门槛上了, "工欲善其事, 必先利其器"嘛, 我想如果有一个很好用的IDE, 那些Linux牛人也会欢迎的. 这都是劳动人民的美好愿望罢了, 我今天教大家把gvim改装成一个简易IDE, 说它"简易"是界面上看起来&quo

Vim配置和插件管理

这篇文章主要是记录vim配置中各个配置项的含义并且收藏一些常用的插件及其使用方法. 1. Vim配置 目前我的vimrc配置放置在:https://github.com/javachen/snippets/blob/master/dotfiles/.vimrc,其中大多数用英文注释. 2. 插件管理 使用 pathogen来管理插件 项目地址: https://github.com/tpope/vim-pathogen 安装方法: $ mkdir -p ~/.vim/autoload ~/.vi

如何在ubuntu桌面配置一个网络打印机和扫描仪

如何在ubuntu桌面配置一个网络打印机和扫描仪 在之前的文章中, 我们讨论过如何在Linux服务器安装各种各样的打印机(当然也包括网络扫描仪).今天我们将来处理另一端:如何通过桌面客户端来访问网络打印机/扫描仪. 网络环境 在这个安装教程中,我们的服务器(Debian Wheezy 7.2版本)的IP地址是192.168.0.10,我们的客户端(Ubuntu 12.04版本)的IP地址是192.168.0.105.注意这两台机器是在同一个网段(192.168.0.0/24).如果我们想允许打印

vim ubuntu-关于vim配置的问题,无法识别.h文件

问题描述 关于vim配置的问题,无法识别.h文件 我想把vim配置的适用一点,识别不同文件的后缀,然后在文件开头加上相应的头文件什么的. 可是配置好了发现一直识别不出来*.h 和*.cpp文件不知道具体是什么原因 源码如下: autocmd BufNewFile *.c,*.h,*.cpp,*.sh,*.java exec ":call SetTitle()" ""定义函数SetTitle,自动插入文件头 func SetTitle() "如果文件类型为.

PHP工程师VIM配置分享_php技巧

关于我的vim配置 经常在服务器上写代码,一个朋友提供了关于他的vim配置,在此分享给大家. 界面效果图: .vimrc 内容如下  "========================================================================= set nocompatible " be iMproved, required filetype off " required " git clone https://github.c

用VirtualBox、INetSim和Burp配置一个恶意软件分析实验室

本文讲的是用VirtualBox.INetSim和Burp配置一个恶意软件分析实验室,在这篇文章中,我们将创建一个与主机操作系统和互联网隔离的隔离虚拟网络,我们将在其中设置两个受害虚拟机(Ubuntu和Windows 7)以及分析服务器,以模拟常见的Internet服务,如HTTP或DNS.然后,我们将能够记录和分析任何Linux或Windows恶意软件的网络通信,不知不觉中连接到我们的服务器而不是Internet.我们分析了臭名昭着的TeslaCrypt ransomware的流量,ranso