zsh 终端
推荐使用 zsh 终端替代 bash
bash
apt install --no-install-recommends zsh zsh-common zsh-syntax-highlighting zsh-autosuggestions -ybash
# 切换到 zsh
zsh
# 切换到 bash
bashbash
usermod -s /bin/zsh emad
usermod -s /bin/zsh root安装 ohmyzsh
下面我们使用 ohmyzsh 美化 zsh 界面以及增强 zsh 功能
bash
root ➜ mkdir /server
root ➜ git clone https://github.com/ohmyzsh/ohmyzsh.git /server/ohmyzsh
rm -rf /server/ohmyzsh
find /server/ohmyzsh -type f -exec chmod 644 {} \;
find /server/ohmyzsh -type d -exec chmod 755 {} \;bash
ln -s /server/ohmyzsh /root/.oh-my-zsh
ln -s /server/ohmyzsh /home/emad/.oh-my-zshbash
cat > ~/.zshrc << 'EOF'
# ~/.zshrc
source /etc/profile
# Kernel
export ZSH="$HOME/.oh-my-zsh"
source $ZSH/oh-my-zsh.sh
setopt no_nomatch
# Theme
# ZSH_THEME="robbyrussell"
PROMPT="%(?:%{$fg_bold[green]%}%n %1{➜%} :%{$fg_bold[red]%}%1{➜%} )%{$fg[cyan]%}%c%{$reset_color%}"
PROMPT+=' $(git_prompt_info)'
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}git:(%{$fg[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}%1{✗%}"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})"
# Interior Plugins
plugins=(
git
z
colored-man-pages
)
# External pPugins
source /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh
source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# Alias
alias bat='batcat'
alias cls='clear'
alias l="eza"
alias lt="eza -ahTF --level=2"
alias lt3="eza -ahTF --level=3"
alias lt4="eza -ahTF --level=4"
alias lt5="eza -ahTF --level=5"
# Environment
# PATH=/server/sqlite3/bin:${PATH}
# PATH=/server/redis/bin:${PATH}
# PATH=/server/postgres/bin:${PATH}
# PATH=/server/php/85/bin:/server/php/85/sbin:${PATH}
# PATH=/server/nginx/sbin:${PATH}
# PATH=/server/mysql/bin:${PATH}
# PATH=/server/node/bin:${PATH}
# export PATH
EOF⚠️ 解决github无法下载:
下载压缩包并解压 ohmyzsh.tar.xz
bashroot ➜ mkdir /server root ➜ tar -xJf -C /server/ root ➜ chown root:root -R /server/ohmyzsh root ➜ find /server/ohmyzsh -type f -exec chmod 644 {} \; root ➜ find /server/ohmyzsh -type d -exec chmod 755 {} \;使用代理下载:
bashproxychains git clone https://github.com/ohmyzsh/ohmyzsh.git /server/ohmyzsh
ohmyzsh 插件
oh-my-zsh 默认只开启了内置的 git 插件
bash
# ~/.zshrc
# z实现目录间快速跳转
plugins=(git z)bash
# ~/.zshrc
source /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh
source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh自定义主题样式
自定义样式必须在 source $ZSH/oh-my-zsh.sh 之后,因为 oh-my-zsh 核心会加载默认主题
bash
# Kernel
export ZSH="$HOME/.oh-my-zsh"
source $ZSH/oh-my-zsh.sh
setopt no_nomatch
# Theme
# ZSH_THEME="robbyrussell"
PROMPT="%(?:%{$fg_bold[green]%}%n %1{➜%} :%{$fg_bold[red]%}%1{➜%} )%{$fg[cyan]%}%c%{$reset_color%}"
PROMPT+=' $(git_prompt_info)'
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}git:(%{$fg[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}%1{✗%}"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})"通配符不支持问题
zsh 默认不支持通配符,需要增加一条语句
bash
# ~/.zshrc
setopt no_nomatch字体支持
oh-my-zsh 的主题有一些特殊的图标,需要安装特殊字体支持,这里推荐安装 Nerd Fonts 系列的 MesloLGM NF 字体
TIP
如果宿主机通过 xshell 远程链接的话,只需要在宿主机上安装 MesloLGM NF 字体,并在 xshell 上选择使用 MesloLGM NF 字体即可
如果你是安装在本地电脑上,则需要 GUI 支持(即必须安装桌面),然后对使用的终端软件,设置字体即可,配置上类似于 [oh-my-posh]
