一、修改模型shell为zsh
1、检查当前使用的shell
echo $SHELL
2、检查当前系统支持的shell
cat /etc/shells
# 输出结果显示如下:
"""
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/csh
/bin/tcsh
/usr/bin/csh
/usr/bin/tcsh
/usr/bin/zsh
/bin/zsh
/usr/bin/tmux
/bin/tmux
"""
3、 如果系统没有zsh,则需要安装
对于 RHEL / CentOS / Rocky Linux:
sudo yum install zsh -y
对于 Ubuntu / Debian:
sudo apt install zsh -y
安装完成后可以用下面的命令确认 zsh 安装成功:
which zsh # 输出: /usr/bin/zsh,表明安装成功
4、将当前用户的默认 shell 改为 zsh
# 以下两个指令选择一个执行即可
chsh -s $(which zsh) # 自动定位zsh的路径
chsh -s /usr/bin/zsh # 手动指定zsh的路径
5、然后退出终端或重新登录,再用以下命令确认
echo $SHELL
输出如果是以下内容,则就说明默认 shell 已经切换成功:
/usr/bin/zsh
二、安装 Oh My Zsh 提升颜值与体验
Oh My Zsh 是一个超好用的 Zsh 配置框架,让终端更智能、自动补全超强、还有主题美化 ✨
1、安装Oh My Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
上述指令会做几件事:
安装 oh-my-zsh 到
~/.oh-my-zsh
自动生成一个
.zshrc
自动把你的 shell 切换成 zsh(如未切换也可手动执行
chsh -s $(which zsh)
)
显示一下画面,说明安装成功:
2、 辅助插件的安装
(1)zsh-autosuggestions
(命令自动建议):实时提供历史命令的建议,就像你在用 fish shell 或输入法那样的“灰色提示”。
举个例子:加入之前输入过这个指令 ssh node01,那么当你输入 ssh no 的时候,终端会提示灰色,只需要按 →(右箭头)或者 Ctrl+E
就可以自动补全,非常实用的辅助插件!
(2)zsh-syntax-highlighting
(语法高亮):为你在终端中输入的命令加上实时语法颜色高亮,防止输错命令。其中合法命令是绿色,错误命令是红色,路径、参数、变量会以不同的颜色区分。
举个例子:conda lisy lisy 会变红色,表示它不存在;而conda是有效命令,会是绿色。
(3)zsh-completions
(补全增强):支持在按 Tab
补全时支持更多工具,效率更高,比如:
git
,docker
,conda
,kubectl
,slurm
,brew
等命令的选项和子命令补全支持更复杂的参数结构提示(比自带的 zsh 更强)
# 自动建议(fish 风格)
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# 语法高亮
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# 自动补全增强
git clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-completions
3、 推荐一个 .zshrc
配置文件
(1)备份原始 .zshrc
cp ~/.zshrc ~/.zshrc.backup
(2)替换 .zshrc
文件内容
vim ~/.zshrc
编辑zshrc配置文件,替换为下面的内容:
# >>> 基础设置 <<<
export ZSH="$HOME/.oh-my-zsh" # $HOME 是一个 环境变量,表示你当前登录用户的主目录,也就是你在终端打开默认进入的目录。
ZSH_THEME="robbyrussell" # 主题推荐robbyrussell(是 oh-my-zsh 的默认主题,风格比较“朴素”),或者agnoster,酷炫实用,也可以根据自己的喜好选择不同的主题
DISABLE_UPDATE_PROMPT=true # 不提示升级 oh-my-zsh
ENABLE_CORRECTION=true # 自动纠正命令拼写错误
COMPLETION_WAITING_DOTS="true"
# >>> 插件配置 <<<
plugins=(
git
zsh-autosuggestions
zsh-syntax-highlighting
zsh-completions
colored-man-pages
sudo
extract
conda
)
source $ZSH/oh-my-zsh.sh
# >>> Conda 自动激活(如果你安装了 Miniconda/Anaconda) <<<
if [[ -f "$HOME/miniconda3/etc/profile.d/conda.sh" ]]; then
source "$HOME/miniconda3/etc/profile.d/conda.sh"
conda activate base
elif [[ -f "$HOME/anaconda3/etc/profile.d/conda.sh" ]]; then
source "$HOME/anaconda3/etc/profile.d/conda.sh"
conda activate base
fi
# >>> 自动补全建议颜色(zsh-autosuggestions) <<<
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8'
# >>> 历史记录配置 <<<
HISTFILE=~/.zsh_history # 定义命令历史记录的保存文件。Zsh 会把你敲过的命令写入这个文件
HISTSIZE=10000 # 当前 shell session(内存中)能保留的历史命令条数,如果你敲了3w条命令,只能用 ↑ 往回翻 1 万条
SAVEHIST=10000 # 每次退出 shell 时,最多保存多少条命令到 ~/.zsh_history 文件中
setopt append_history # 多个终端 session 会“追加写入历史”而不是互相覆盖
setopt share_history # 多个 zsh 实例之间“实时共享”历史命令
# >>> 语法高亮支持(zsh-syntax-highlighting) <<<
# 插件通常已在 plugins 中声明,但如果不生效可手动 source
[[ -f ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh ]] && \
source ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# >>> autosuggestions 插件手动加载(保险) <<<
[[ -f ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh ]] && \
source ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
# >>> 命令提示符美化(可选) <<<
export PROMPT_DIRTRIM=2 # 控制路径在提示符中的显示长度(路径缩短)
setopt prompt_subst # 允许 prompt 中使用变量嵌套
autoload -Uz colors && colors # 启用颜色支持,便于彩色 prompt / 文本输出
# >>> 语言环境设置(防乱码)<<<
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
(3)重新配置文件
source ~/.zshrc
再次执行以下命令查看当前的shell
echo $SHELL # 输出位 /usr/bin/zsh,则表示shell切换成功
(4)一些测试
git status # 会高亮显示状态
conda env list # 会看到 conda 自动激活
ls # 自动补全建议 + 高亮 + 美化 prompt
4、(可选)Powerlevel10k主题替换
powerlevel10k
是一个超强、超美、超快的 Zsh 主题。
安装 Powerlevel10k的步骤如下:
(1)克隆主题:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k
(2)修改 .zshrc
中的主题为:
ZSH_THEME="powerlevel10k/powerlevel10k"
(3)重启终端,会自动进入配置向导:
你可以选择:
单行 or 多行提示符
彩色 or 黑白风格
是否显示时间/git/状态码...
(向导是交互式的,选择你喜欢的风格即可)
如何配置Powerlevel10k主题可以参考以下链接:【Mac 从 0 到 1 保姆级配置教程 05】 - 全网最详细 20+ 张图逐帧安装 powerlevel10k zsh 主题-CSDN博客