(*/ω\*)

マジやばくね

Tinko

@Tinko4年前

2016-03-03
17:15
Tinkoの日常

花了一上午折腾了zsh+powerline

老早就听说了几大shell但是一直懒得动,今天趁着人工智能老师在讲台上扯白话就顺手弄了。

因为Mac自带zsh所以就不用装了,至于在Linux怎么弄我回头再补→_→

最开始直接在终端里头试了试zsh,感觉并没有那么好,很多特性都没有(插件?)

于是果断上了Oh My zsh,很简单,一条命令就成

$ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

度娘看了一圈之后决定上一个插件:zsh-syntax-highlighting  这个插件用来高亮语法的。

下面这条命令将整个git克隆到本地的oh-my-zsh路径下

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting

然后在~/.zshrc的plugins字段加上zsh-syntax-highlighting就成

接下来可以上iTerm2了,不要问我为什么,就是好用

装完之后改个配色方案,我个人用的是Solarized

接下来就轮到PowerLine啦,因为PowerLine里面用了部分非Unicode字符来实现他们设计的显示效果,所以需要下载扩充过的字体。如果喜欢Mac原版那种Monaco字体的话,打过补丁的字体在https://github.com/supermarin/powerline-fonts/blob/master/Monaco/Monaco%20for%20Powerline.otf,双击直接装。如果你不知道怎么下载的话……那你还用啥CLI……

PowerLine官网的安装教程在http://powerline.readthedocs.org/en/latest/installation/osx.html

敲这行代码直接开装

pip install --user powerline-status

如果没有pip的话那就先用sudo easy_install pip把pip装上。
然后打开~/.zshrc,在最后面加上一行

. /Users/[用户名]/Library/Python/2.7/lib/python/site-packages/powerline/bindings/zsh/powerline.zsh

注意前面的点和空格
接下来打开iTerm2,如果报错

no such file or directory: /Users/[用户名]/Library/Python/2.7/lib/python/site-packages/scripts/powerline-config

那么记得把/Users/[用户名]/Library/Python/2.7/bin加入PATH
这时候PowerLine应该是能正常工作了,剩下的就是自定义了

我就简单地改了个时间和电量,嗯~因为国内如果加天气的话会很慢,严重影响效率,至于怎么影响自己可以做个死试试→_→
新建目录~/.config/powershell,这个目录下的结构和配置文件会跟~/Library/Python/2.7/lib/python/site-packages/powerline/config_files关联。至于我的配置项,就只改了一个文件,直接放上来咯

{
	"segments": {
		"left": [
			{
				"function": "powerline.segments.shell.mode"
			},
			{
				"function": "powerline.segments.common.net.hostname",
				"priority": 10
			},
			{
				"function": "powerline.segments.common.env.user",
				"priority": 30
			},
			{
				"function": "powerline.segments.common.env.virtualenv",
				"priority": 50
			},
			{
				"function": "powerline.segments.shell.cwd",
				"priority": 10
			},
			{
				"function": "powerline.segments.shell.jobnum",
				"priority": 20
			}
		],
		"right": [
			{
				"function": "powerline.segments.shell.last_pipe_status",
				"priority": 10
			},
			{
				"function": "powerline.segments.common.vcs.branch",
				"priority": 40
			},
			{
				"function": "powerline.segments.common.time.date",
				"priority": 30,
				"args": {
    			    "format": "%y-%m-%d %H:%M:%S"
    			}
			},
			{
				"function": "powerline.segments.common.bat.battery",
				"priority": 20
			}
		]
	}
}

花了一上午折腾了zsh+powerline