Mac下用zsh
最近好多实验要跑,有时候Finder切换来切换去,感觉还不如用terminal.
Mac默认的shell是bash.所以说我其实今天才弄明白shell和terminal之间的关系。在人和计算机内核之间有两层,外面一层是terminal,管输入和显示,里面一层是shell,管和内核的交互。
正好看到MacTalk里介绍了Mac自带的一款shell,叫做zsh.感觉很强大,主要是自动补全,切换目录等功能很厉害。所以就安装了oh-my-zsh,方便设置zsh。
利用命令chsh -s /bin/zsh可以将默认的shell切换到zsh. 此时用echo $SHELL可以看到当前使用的shell.
安装oh-my-zsh,可以用两种方法:
确保安装了wget,使用wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
在我的Mac下出现git没有认证的问题,因此我尝试手动安装。
确认安装了git,使用git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
这时候我查看~/.zshrc,里面用了默认的主题。还可以设置alias等等。
但是Mac下的终端还是一片惨白。说实话,我也不知道应该在哪里设置,感觉可能应该在三个地方:1、终端设置;2、oh-my-zsh设置文件;3、oh-my-zsh设置文件使用的主题文件。
一个一个看完以后,确认2是不可行的。
3的设置文件比较复杂,需要修改PROMPT这个变量,如下:
PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'
可以加上%{$bg_bold[black]%}就把粗体字的背景颜色给改成黑色了。
1的设置最方便,直接通过commnd+‘,’就可以进入设置页面了。
里面可以修改背景颜色和透明度。效果如下:
这样就成就了新的terminal了。
如果要用上好的简单的配色,可以看一下git上一个开源项目,叫做solarized.
最后可以自定义一下.zshrc这个文件。
注意所有“=”前后都不能有空格。
比如我想通过输入goagent直接运行python ~/softwares/goagent/local/proxy.py,那么这一行命令写成:
alias goagent = "python ~/softwares/goagent/local/proxy.py" 会报错。
应该写成alias goagent="python ~/softwares/goagent/local/proxy.py".