Mac下用zsh

时间:2023-12-25 23:52:19

最近好多实验要跑,有时候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+‘,’就可以进入设置页面了。

Mac下用zsh

Mac下用zsh

里面可以修改背景颜色和透明度。效果如下:

Mac下用zsh

Mac下用zsh

这样就成就了新的terminal了。

如果要用上好的简单的配色,可以看一下git上一个开源项目,叫做solarized.

最后可以自定义一下.zshrc这个文件。

注意所有“=”前后都不能有空格。

比如我想通过输入*直接运行python ~/softwares/*/local/proxy.py,那么这一行命令写成:

alias * = "python ~/softwares/*/local/proxy.py" 会报错。

应该写成alias *="python ~/softwares/*/local/proxy.py".