我是基于ChatGPT-turbo-3.5实现的AI助手,在此网站上负责整理和概括文章
本文介绍了如何安装和配置Zsh及其相关工具,包括安装Zsh、配置Pure主题、使用Oh My Zsh框架、设置Powerlevel10k主题,以及配置快捷键和常用插件(如wd、autojump、extract等)。还涵盖了代理设置、字体配置等内容,并提供了插件的安装、使用及卸载方法。这些配置旨在提升终端使用效率和开发体验。
# 安装部分
# 安装 zsh
首先安装 zsh 并通过 chsh 命令将其设置为默认的 Shell 环境。zsh 是和 Bash 一样最流行的终端命令解释器,已经成为了 macOS 10.15 Catalina 中默认的 Shell 了。
# 安装 zsh
sudo apt install zsh
# 确认 zsh 成功安装
which zsh
# 设置为默认 Shell
chsh -s /usr/bin/zsh
# ZSH提示符
Prue是一个设计简洁且快速响应的ZSH提示符,支持显示git分支状态和未推送或未拉取的提交,命令执行超时也会被显示通过简单的安装和配置,用户可以自定义提示符符号和颜色等选项,适合作为ZSH提示符的定制基础。支持VI模式指示,可通过npm、Homebrew或手动安装,并与oh-my-zsh、prezto等ZSH框架无缝集成。
mkdir -p "$HOME/.zsh"
git clone https://github.com/sindresorhus/pure.git "$HOME/.zsh/pure"
# 在 $HOME/.zshrc 中添加克隆路径到 $fpath:
# .zshrc
fpath+=($HOME/.zsh/pure)
autoload -U promptinit; promptinit
prompt pure
# 安装 Oh My Zsh
Zsh虽然好用,但直接用起来还是比较麻烦。
oh-my-zsh,专门为Zsh打造。Oh My Zsh是基于zsh命令行的一个扩展工具集,提供了丰富的扩展功能。
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# 系统字体使用 Google Noto 系列的字体,可以通过 apt 便捷的安装
sudo apt install fonts-noto
国内镜像
# 使用 curl 安装
sh -c "$(curl -fsSL https://gitee.com/pocmon/ohmyzsh/raw/master/tools/install.sh)"
# 使用 wget 安装
sh -c "$(wget -O- https://gitee.com/pocmon/ohmyzsh/raw/master/tools/install.sh)"
# 配置部分
# 快捷键
-
使用 ctrl-r 来搜索命令历史记录。按完此快捷键后,可以输入关键命令词语,如果历史记录有含有此词语会显示出来。
-
命令别名:
- 在命令行中输入
alias可以查看已经有的命令别名
- 在命令行中输入
-
自己新增一些别名,编辑文件:
vim ~/.zshrc,在文件加入下面格式的命令,比如以下是网友提供的一些思路:alias cls='clear' alias ll='ls -l' alias la='ls -a' alias grep="grep --color=auto" alias -s html='vim' # 在命令行直接输入后缀为 html 的文件名,会在 Vim 中打开 alias -s rb='vim' # 在命令行直接输入 ruby 文件,会在 Vim 中打开 alias -s py='vim' # 在命令行直接输入 python 文件,会用 vim 中打开,以下类似 alias -s js='vim' alias -s c='vim' alias -s java='vim' alias -s txt='vim' alias -s gz='tar -xzvf' # 在命令行直接输入后缀为 gz 的文件名,会自动解压打开 alias -s tgz='tar -xzvf' alias -s zip='unzip' alias -s bz2='tar -xjvf'
# 配置 Powerlevel10k 主题
安装好 zsh 之后,继续设置其主题为 Powerlevel10k
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k
# 国内
git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
接着在 ~/.zshrc 中设置,重启 zsh 即可看见设置向导,按照提示可以选择自己喜欢的样式。
ZSH_THEME="powerlevel10k/powerlevel10k"
source ~/.zshrc
# 设置 P10k
p10k configure
# 重启终端
omz reload
# 配置本地代理
如果你配置了本地代理,并希望终端的git等命令使用代理,那么可以在~/.zshrc中添加(假设本地代理端口为7890):
# 为 curl wget git 等设置代理
proxy () {
export ALL_PROXY="socks5://127.0.0.1:7890"
export all_proxy="socks5://127.0.0.1:7890"
}
# 取消代理
unproxy () {
unset ALL_PROXY
unset all_proxy
}
# 插件部分
oh-my-zsh 插件太多,请参考:Plugins · ohmyzsh/ohmyzsh Wiki
-
查看 oh-my-zsh 插件数
ls -l ~/.oh-my-zsh/plugins |grep "^d"|wc -l
# 自动补全与语法高亮
Oh My Zsh 比较常用的两个插件是 zsh-autosuggestions 与 zsh-syntax-highlighting
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://gitee.com/asddfdf/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://gitee.com/chenweizhen/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# z 插件
oh-my-zsh内置了z插件。z是一个文件夹快捷跳转插件,对于曾经跳转过的目录,只需要输入最终目标文件夹名称,就可以快速跳转,避免再输入长串路径,提高切换文件夹的效率。
# extract
oh-my-zsh内置了extract插件。extract用于解压任何压缩文件,不必根据压缩文件的后缀名来记忆压缩软件。使用x命令即可解压文件
x *.tar.xz
# wd
-
wd插件是 Oh My Zsh 的一个内置插件, 简单地讲就是给指定目录映射一个全局的名字,以后方便直接跳转到这个目录
-
打开 Zsh 配置文件(通常是
~/.zshrc),在plugins数组中添加wd:plugins=(git wd 其他插件...) -
使用示例
cd ~/projects/my-important-project # wd add <标记名> wd add imp cd /tmp wd imp # 瞬间跳回 ~/projects/my-important-project -
所有标记保存在
~/.warprc文件中,可以手动编辑。 -
其他用法
# ===== 基本命令 ===== # 添加当前目录为标记(例如标记为 "work") wd add work # 将当前目录绑定到标记 "work" # 跳转到标记目录 wd work # 快速切换到 "work" 对应的目录 # 列出所有标记 wd list # 显示所有已保存的标记及其路径 # 删除标记 wd rm work # 删除标记 "work" # 显示标记的完整路径 wd path work # 输出 "work" 对应的绝对路径 # ===== 高级选项 ===== # 强制覆盖已存在的标记(无确认提示) wd -f add work # 强制更新标记 "work" # 静默模式(不输出跳转信息) wd -q work # 静默跳转到 "work" # 清除所有标记(需确认) wd clean # 删除所有标记(输入 y/n 确认) # ===== 其他操作 ===== # 打印帮助信息 wd -h # 显示 wd 的所有命令选项 # 手动编辑标记文件(路径存储在此) vim ~/.warprc # 直接修改标记配置(每行格式: 标记名=路径)
# autojump
-
autojump插件会记录你常去的那些目录,然后做一下权重记录
-
安装
# 下载最新版 autojump(可替换为最新版本链接) wget https://github.com/wting/autojump/releases/download/v21.1.2/autojump_v21.1.2.tar.gz # 解压安装包 tar zxvf autojump_v21.1.2.tar.gz # 进入目录并安装 cd autojump_v21.1.2/ ./install.sh # 需管理员权限可加 `sudo` # 加载环境变量(临时生效) source /etc/profile.d/autojump.sh # 永久生效:编辑 Zsh 配置文件 vim ~/.zshrc plugins=(git autojump 其他插件...) -
基本使用命令
# 跳转到高频目录(匹配权重最高的 "project") j project # 交互式选择目录(匹配多个时列出选项) jc project # 输入编号跳转 # 打开文件管理器(如 Mac 的 Finder) jo project # 查看权重统计 j --stat # 显示目录及其访问频率 # 手动增加目录权重(当前目录) j -a . # 强制提升当前目录优先级 # 模糊匹配(无需完整名称) j pro # 可能跳转到 /usr/program # 限制跳转层级(如只进入子目录) j -b src # 跳转到当前目录下的 src 文件夹 # 排除低权重目录(需编辑配置文件) vim ~/.local/share/autojump/autojump.txt # 手动调整权重数值 # 重置统计:删除数据库文件: rm ~/.local/share/autojump/autojump.txt
# web-search
oh-my-zsh内置了web-search插件。web-search能让我们在命令行中使用搜索引擎进行搜索。使用搜索引擎关键字+搜索内容即可自动打开浏览器进行搜索。
google java
bing java
baidu java
# 启用插件
安装完成后在 ~/.zshrc 中设置插件列表,重启终端后即可查看到效果。
plugins=(
git
zsh-autosuggestions
zsh-syntax-highlighting
z
extract
web-search
)
# 更新 or 卸载
# 卸载Oh-My-Zsh
-
终端输入:
uninstall_oh_my_zsh Are you sure you want to remove Oh My Zsh? [y/N] Y -
终端提示信息:
Removing ~/.oh-my-zsh Looking for original zsh config... Found ~/.zshrc.pre-oh-my-zsh -- Restoring to ~/.zshrc Found ~/.zshrc -- Renaming to ~/.zshrc.omz-uninstalled-20170820200007 Your original zsh config was restored. Please restart your session. Thanks for trying out Oh My Zsh. It's been uninstalled.
# 更新Oh-My-Zsh
-
终端输入:
upgrade_oh_my_zsh
# Terminal 字体设置
-
Powerlevel10k 作者推荐使用 Meslo Nerd Font 字体
scoop install Meslo-NF
-
WSL配置字体
MesloLGS NF