公司的电脑早就配置好了,最近突然想用自己的Mac电脑做一些小项目,但terminal用着实在不顺手,而且没有色彩,难以阅读。感觉terminal有可爱的主题和缤纷的色彩用起来心情会好一些!今天花了一些时间忙活用oh-my-zsh强化和美化终端这件事。
关于iTerm2
iTerm2是一款非常好用的终端管理器,可以直接在iTerm2官网下载安装。
修改色彩主题
打开iTerm2,菜单栏点击iTerm2 -> Profiles -> Colors -> Color Presets
修改字体样式
打开iTerm2,菜单栏点击iTerm2 -> Profiles -> Text
安装oh-my-zsh
oh-my-zsh官网 : Install oh-my-zsh
通过curl安装:
$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
然后可以在terminal中看到oh my zsh is now installed!的提示。
修改默认的shell
首先查看当前环境shell
echo $SHELL
查看系统自带哪些shell
cat /etc/shells
结果:
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
Mac系统自带了zsh,可以通过Homebrew来安装最新的版本。
brew install zsh
查看zsh的版本:
zsh --version
然后将zsh设置为默认的shell:
chsh -s /bin/zsh
修改主题风格
oh-my-zsh官网 : THEMES oh-my-zsh themes 点进去可以看到海量主题效果,个人最喜欢cloud
cloud
(有小云朵☁️和闪电⚡️!)
agnoster
(看起来很帅气的一个主题)
如果想设置主题先cd into root directory,然后code .
打开vscode,打开.zshrc
文件,设置新的主题值:
ZSH_THEME="cloud"
保存,在terminal里运行:
source ~/.zshrc
就可以看到新的cloud主题了。
如果还不确定喜欢哪种主题想随便试试看,可以根据.zshrc
文件中的comment提示修改:
ZSH_THEME="random"
这样每次load oh-my-zsh 都会出现新的主题。(每次关掉iTerm2都会跳出新的主题,超开心!)
如果想知道当前使用的主题名称可以运行:
echo $RANDOM_THEME
这些都是oh-my-zsh自带的主题,可以在~/.oh-my-zsh/themes
目录中看到。
使用非自带主题
除了这些自带的主题还有很多好看的定制主题 External Themes list (推荐emoji,powerlevel10k)。 根据各个主题的docs使用就好。
Trouble shooting
配置zsh时遇到的error(1和2都是在source ~/.zshrc
的时候出现的):
-
Insecure completion-dependent directories detected https://github.com/ohmyzsh/ohmyzsh/issues/6835
类似这个问题。
The first solution: change the ownership of the problematic directories (doesn’t work)
The second solution:set
ZSH_DISABLE_COMPFIX=true
(or"true"
in quotes) in your.zshrc
file, to tell ZSH to not check for insecure directories. (works for me) -
compinit:498: no such file or directory: /usr/local/share/zsh/site-functions/_docker-machine
解决方法:https://docs.docker.com/machine/completion/
(参考Zsh部分)
Place the completion script in your a
completion
file within the ZSH configuration directory, such as~/.zsh/completion/
.mkdir -p ~/.zsh/completion curl -L https://raw.githubusercontent.com/docker/machine/v0.16.0/contrib/completion/zsh/_docker-machine > ~/.zsh/completion/_docker-machine
Include the directory in your
$fpath
, by adding a like the following to the~/.zshrc
configuration file.fpath=(~/.zsh/completion $fpath)
Make sure
compinit
is loaded or do it by adding in~/.zshrc
:autoload -Uz compinit && compinit -i
Then reload your shell:
exec $SHELL -l
-
发现使用zsh后没办法使用.bash_profilez中的设置
解决方法:
在
.zshrc
文件中加入:#source bash profile source ~/.bash_profile
其他参考文章: