安装zsh
#安装
sudo apt install zsh
#查看本地已安装哪些shell
cat /etc/shells
#切换zsh为默认shell
chsh -s /bin/zsh
安装 oh-my-zsh
方法1:Gitee极速安装(2023-10-25 更新)
此方法一键安装语法高亮插件和自动补全插件(
zsh-autosuggestions zsh-syntax-highlighting
),并脚本默认启用:
git clone https://gitee.com/leocccc/oh-my-zsh.git && bash ./oh-my-zsh/install.sh
方法2:手动安装插件
#### 语法高亮插件 zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
#### 自动补全插件 zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
#### 自动跳转插件 autojump
# clone 到本地
git clone git://github.com/joelthelion/autojump.git
# 进入clone目录,接着执行安装文件
cd autojump
./install.py
# 接着根据安装完成后的提示,在~/.bashrc最后添加下面语句:
vim ~/.bashrc
[[ -s /home/misfit/.autojump/etc/profile.d/autojump.sh ]] && source /home/misfit/.autojump/etc/profile.d/autojump.sh
#### 启用插件
vim ~/.zshrc
# plugins 后括号里添加安装的插件名字
plugins=(git zsh-autosuggestions zsh-syntax-highlighting autojump)
# 最后刷新
source ~/.zshrc
设置主题
选用内置主题
主题配置文件是 ~/.zshrc , 默认是robbyrussell
主题,修改选项 ZSH_THEME
# gedit ~/.zshrc
ZSH_THEME="bira"
sed -i 's/ZSH_THEME="robbyrussell"/ZSH_THEME="bira"/' ~/.zshrc
所有zsh主题地址:Oh-My-Zsh主题汇总
DIY主题
以 bira 为模板,启用bira主题,然后修改 ~/.oh-my-zsh/themes/bira.zsh-theme 文件为如下:
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
if [[ $UID -eq 0 ]]; then
local user_host='%{$terminfo[bold]$fg[red]%}%n'
local user_symbol='#'
else
local user_host='%{$terminfo[bold]$fg[green]%}%n'
local user_symbol='$'
fi
local current_dir='%{$terminfo[bold]$fg[blue]%}%~ %{$reset_color%}'
local git_branch='$(git_prompt_info)'
local rvm_ruby='$(ruby_prompt_info)'
local venv_prompt='$(virtualenv_prompt_info)'
ZSH_THEME_RVM_PROMPT_OPTIONS="i v g"
# ======================== 开始修改 ========================
if true; then
# ==============1.双行显示,退出码放在第一行
PROMPT="[%D{%y/%m/%d} %D{%H:%M:%S} %B${user_host}%b] ${current_dir}${rvm_ruby}${git_branch}${venv_prompt} %B${return_code}%b
"
# 退出码
RPROMPT=""
else
# ==============2.单行显示,退出码在最后
PROMPT="%{$terminfo[bold]$fg[blue]%}%D{%H:%M:%S} ${user_host} ${current_dir}${rvm_ruby}${git_branch}${venv_prompt}"
RPROMPT="%B${return_code}%b"
fi
# ======================== 结束修改 ========================
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹"
ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}●%{$fg[yellow]%}"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[yellow]%}"
ZSH_THEME_HG_PROMPT_PREFIX="$ZSH_THEME_GIT_PROMPT_PREFIX"
ZSH_THEME_HG_PROMPT_SUFFIX="$ZSH_THEME_GIT_PROMPT_SUFFIX"
ZSH_THEME_HG_PROMPT_DIRTY="$ZSH_THEME_GIT_PROMPT_DIRTY"
ZSH_THEME_HG_PROMPT_CLEAN="$ZSH_THEME_GIT_PROMPT_CLEAN"
ZSH_THEME_RUBY_PROMPT_PREFIX="%{$fg[red]%}‹"
ZSH_THEME_RUBY_PROMPT_SUFFIX="› %{$reset_color%}"
ZSH_THEME_VIRTUAL_ENV_PROMPT_PREFIX="%{$fg[green]%}‹"
ZSH_THEME_VIRTUAL_ENV_PROMPT_SUFFIX="› %{$reset_color%}"
ZSH_THEME_VIRTUALENV_PREFIX="$ZSH_THEME_VIRTUAL_ENV_PROMPT_PREFIX"
ZSH_THEME_VIRTUALENV_SUFFIX="$ZSH_THEME_VIRTUAL_ENV_PROMPT_SUFFIX"
效果:
自动跳转插件 autojumpautojump
工作原理:它会在你每次启动命令时记录你当前位置,并把它添加进它自身的数据库中。这样,某些目录比其它一些目录添加的次数多,这些目录一般就代表你最重要的目录,而它们的“权重”也会增大。
查看版本: j -v 目录跳转: j [目录的名字或名字的一部分] // 不受当前所在目录的限制查看当前权重: j --stat
进入权重最高的目录: j
改变当前目录权重值: j -i [权重] // 增加 j -d [权重] // 减少