磨刀不误砍柴工——ubuntu、mac终端美化
查看当前shell
echo $SHELL
zsh安装
apt install zsh
mac自带zsh,不过版本可能比较旧,可以通过brew安装新版
brew install zsh
把zsh设置为默认的shell
chsh -s /bin/zsh
重新打开一个终端才会生效,所以此时echo $SHELL
与之前一样。当然,你也可以先不把zsh设为默认shell,安装oh-my-zsh的时候会询问是否把zsh设为默认shell,到时再处理也可
安装oh-my-zsh
先安装git
apt install git
安装oh-my-zsh,利用官方安装脚本进行安装
wget:
sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
curl:
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
脚本地址可能变更,官网地址传送门
配置主题
选择主题
主题样式查看地址:
https://github.com/ohmyzsh/ohmyzsh/wiki/themes
更改主题
编辑"~/.zshrc",修改"ZSH_THEME",random是随机主题:
ZSH_THEME="random"
PS: Mac下iterm2配合“agnoster”食用效果最佳,不过"agnoster"主题虽然美观,但该主题需要安装"powerLine"字体才能正常显示,否则会有乱码。
编辑完成后使生效:
sudo source ~/.zshrc
或者:
sudo . ~/.zshrc
安装插件
安装方法
安装插件的步骤一般分两步——
- 使用
"git clone"下载插件到oh-my-zsh的插件文件夹"~/.oh-my-zsh/plugins"下。 - 编辑"~/.zshrc",在"plugins=()"括号中引入。
常用插件的安装:
命令提示zsh-autosuggestions:
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
语法高亮zsh-syntax-highlighting:
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
自动跳转:
sudo apt-get install autojump
打开配置文件进行修改:
sudo vim ~/.zshrc
plugins=(git
zsh-autosuggestions
zsh-syntax-highlighting
autojump
)
使生效:
sudo source ~/.zshrc
自动提示配色优化
方法一
修改autosuggestions的文件,文件路径:
~/.oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
修改项为:
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=blue'
fg后面的参数即为提示的颜色。
方法二
把"ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=yellow'"添加到环境变量。
环境变量的配置
从bash转到zsh,环境变量需要重新配置,可以把之前的环境变量复制过来,也可以在"~/.zshrc"引用之前的配置,如下所示:
# 在zshrc添加这一行,把之前的profile配置引入
source ~/.bash_profile
注意,这句命令的位置需要放得靠前一点,不然oh-my-zsh的主题可能不生效,可以放到"export ZSH="/root/.oh-my-zsh""之前,如:
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
source /etc/profile
# Path to your oh-my-zsh installation.
export ZSH="/root/.oh-my-zsh"
编辑完使之生效:
source ~/.zshrc
输入这一句后,oh-my-zsh的主题会失效,变回"#"或"$",这时重新打开终端,或输入 zsh
打开新的zsh即可。
完成后,可以继续在"~/.bash_profile"添加环境变量,然后用"source ~/.bash_profile"更新("source ~/.zshrc"也行),这样可以延续之前的操作习惯。
PS: Mac OS下一般在~/.bash_profile配置环境变量;
ubuntu应该是~/.bashrc(bash共享) 或 ~/.profile(用户个人) 或 /etc/profile(系统共享)
全局配置
系统在创建新用户时,新用户使用的都是默认的配置,如何全局设定oh-my-zsh,使得每个用户都加载这一份配置? 可参考——Ubuntu全局配置oh-my-zsh 新建用户自动使用zsh
adduser新建用户时系统会把/etc/skel目录下的文件拷贝到家目录,所以也添加zshrc在这个目录里
cp /usr/local/src/ohmyzsh/templates/zshrc.zsh-template /etc/skel/.zshrc
修改一下/etc/skel/.zshrc的内容
vi /etc/skel/.zshrc
# 修改export ZSH那一行,并在下面添加一个ZSH_CACHE_DIR
#(需要在source $ZSH/oh-my-zsh.sh这个命令之前设置ZSH_CACHE_DIR)
export ZSH=xxxxx #此处参考自己路径
export ZSH_CACHE_DIR="${XDG_CACHE_HOME:-$HOME/.cache}/oh-my-zsh"
修改adduser的配置,使得新建用户时自动使用zsh作为shell
vi /etc/adduser.conf
#注释掉原来使用的/bin/bash,换为/usr/bin/zsh
#DSHELL=/bin/bash
DSHELL=/usr/bin/zsh