章节目录
参考链接
- Zsh和oh my zsh的安装和使用
- oh my zsh官网
- oh my zsh官方github代码仓库
- zsh官网
安装zsh
oh my zsh的先决条件之一就是需要先安装基本zsh。
oh my zsh本身并不等于zsh,可以粗糙地理解为:它只是一个zsh的配置管理框架。
# 查看当前系统支持哪些shellcat /etc/shells
结果可能是:
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/tcsh
/bin/csh
/usr/local/git/bin/git-shell
尚未安装zsh,那么就可以执行下面命令进行安装
sudo yum install-yzsh
安装成功后,再次查看
cat /etc/shells
,可以发现多了一个
/bin/zsh
安装oh-my-zsh
先决条件
- 类 Unix 操作系统:macOS、Linux、BSD。在 Windows 上:WSL2 是首选,但 cygwin 或 msys 也主要工作。
- 应该安装Zsh(v4.3.9 或更新版本很好,但我们更喜欢 5.0.8 和更新版本)。如果未预先安装(运行
zsh --version
以确认)。 curl
或者wget
应该已经安装git
应安装(推荐 v2.4.11 或更高版本)
基本安装
Oh My Zsh 是通过在终端中运行以下命令之一来安装的。您可以使用curl,wget或其他类似工具通过命令行安装它。
方法命令curl
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
wget
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
fetch
sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
人工检查
从您还不知道的项目中检查安装脚本是个好主意。您可以通过首先下载安装脚本,查看它使一切看起来正常,然后运行它来做到这一点:
# 下载脚本文件wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
# 人工查看脚本,确认无误后,再执行脚本sh install.sh
上述步骤可能因为网络故障无法下载:
[root@jiewli ~]# sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" --2023-02-13 10:03:47-- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh 正在解析主机 raw.githubusercontent.com (raw.githubusercontent.com)... 0.0.0.0, :: 正在连接 raw.githubusercontent.com (raw.githubusercontent.com)|0.0.0.0|:443... 失败:拒绝连接。 正在连接 raw.githubusercontent.com (raw.githubusercontent.com)|::|:443... 失败:拒绝连接。 [root@jiewli ~]# mkdir zsh-installler[root@jiewli ~]# cd zsh-installler/[root@jiewli zsh-installler]# wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh --2023-02-13 10:04:36-- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh 正在解析主机 raw.githubusercontent.com (raw.githubusercontent.com)... 0.0.0.0, :: 正在连接 raw.githubusercontent.com (raw.githubusercontent.com)|0.0.0.0|:443... 失败:拒绝连接。 正在连接 raw.githubusercontent.com (raw.githubusercontent.com)|::|:443... 失败:拒绝连接。
可以尝试直接访问 GitHub 仓库并直接 clone 仓库到本地:ohmyzsh/ohmyzsh
[root@jiewli zsh-installler]# git clone https://github.com/ohmyzsh/ohmyzsh.git
然后进入仓库目录执行安装脚本
[root@jiewli zsh-installler]# sh ./ohmyzsh/tools/install.sh
安装命令日志
[root@VM-8-9-centos ~]# sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Cloning Oh My Zsh...
Cloning into '/root/.oh-my-zsh'...
remote: Enumerating objects: 1244, done.
remote: Counting objects: 100% (1244/1244), done.
remote: Compressing objects: 100% (1205/1205), done.
remote: Total 1244 (delta 19), reused 1186 (delta 18), pack-reused 0
Receiving objects: 100% (1244/1244), 877.00 KiB | 308.00 KiB/s, done.
Resolving deltas: 100% (19/19), done.
Looking for an existing zsh config...
Using the Oh My Zsh template file and adding it to ~/.zshrc.
Time to change your default shell to zsh:
Do you want to change your default shell to zsh? [Y/n] y
Changing the shell...
Changing shell for root.
Shell changed.
Shell successfully changed to '/bin/zsh'.
__ __
____ / /_ ____ ___ __ __ ____ _____/ /_
/ __ \/ __ \ / __ `__ \/ / / / /_ / / ___/ __ \
/ /_/ / / / / / / / / / / /_/ / / /_(__ ) / / /
\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/
/____/ ....is now installed!
Before you scream Oh My Zsh! look over the `.zshrc` file to select plugins, themes, and options.
• Follow us on Twitter: https://twitter.com/ohmyzsh
• Join our Discord community: https://discord.gg/ohmyzsh
• Get stickers, t-shirts, coffee mugs and more: https://shop.planetargon.com/collections/oh-my-zsh
➜ ~
将原shell的环境变量同步到zsh
例如在安装zsh之前,通常用的是bash,而在bash使用期间,有很多环境变量放在了bash的
.bash_profile
文件
而在安装 zsh 后马上企图使用
git
命令就会报错:
zsh: command not found: git
我们查看
.bash_profile
文件,其中最关键的是:
PATH=$PATH:$HOME/bin
exportPATH
那么我们再打开
.zshrc
文件对比看看,果然是缺少了上面两行,复制粘贴到
.zshrc
然后激活即可:
vim .zshrc
source ~/.zshrc
# 验证git--version
使用 Oh My Zsh
插件
Oh My Zsh 附带了大量插件供您使用。您可以查看git仓库目录下的
plugins
目录和/或wiki以查看当前可用的内容。
启用插件
一旦你发现一个(或几个)你想与 Oh My Zsh 一起使用的插件,你需要在
.zshrc
文件中启用它们。您将在
$HOME
目录中找到 zshrc 文件。用你最喜欢的文本编辑器打开它,你会看到一个列出你想要加载的所有插件的地方。
vi ~/.zshrc
例如,这可能看起来像这样:
# 默认初始安装只会启用一个git插件plugins=(git)
请注意,插件由空格(空格、制表符、新行…)分隔。不要在它们之间使用逗号,否则会中断。
使用插件
每个插件都包含一个README,记录它。此自述文件应显示该特定插件中包含的别名(如果插件添加了任何内容)和额外的好东西。
主题
我们会承认的。在 Oh My Zsh 世界的早期,我们可能对主题太高兴了。我们现在捆绑了一百五十多个主题。他们中的大多数人在 wiki 上都有截图(我们正在努力更新这个!)。去看一下!
选择主题
Robby 的主题是默认主题。这不是最花哨的。这不是最简单的。这是正确的(对他来说)。
找到要使用的主题后,您需要编辑该
~/.zshrc
文件。您会在其中看到一个环境变量(全部大写),如下所示:
ZSH_THEME="robbyrussell"
要使用不同的主题,只需更改值以匹配所需主题的名称。例如:
ZSH_THEME="agnoster"# (this is one of the fancy ones)# see https://github.com/ohmyzsh/ohmyzsh/wiki/Themes#agnoster
注意:许多主题需要安装Powerline Fonts才能正确呈现。
打开一个新的终端窗口,你的提示应该是这样的:
如果您没有找到适合您需求的主题,请查看 wiki 以了解更多主题。
如果您感觉精力充沛,可以让计算机在您每次打开新的终端窗口时为您随机选择一个。
ZSH_THEME="random"# (...please let it be pie... please be some pie..)
如果您想从您最喜欢的主题列表中选择随机主题:
ZSH_THEME_RANDOM_CANDIDATES=("robbyrussell""agnoster")
如果您只知道不喜欢哪些主题,可以类似地将它们添加到忽略列表中:
ZSH_THEME_RANDOM_IGNORED=(pygmalion tjkirch_mod)
卸载 Oh My Zsh
哦,我的 Zsh 并不适合所有人。我们会想念你,但我们想让这成为一个轻松的分手。
如果要卸载
oh-my-zsh
,只需从命令行运行
uninstall_oh_my_zsh
。它将自行删除并恢复您之前的
bash
或
zsh
配置。
常用配置
主题
好看的主题:
ZSH_THEME="agnoster"
插件
好用的插件:
命令自动记忆补全
zsh-autosuggestions
# 克隆插件源码到指定目录git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
# 如果 git 协议克隆失败,可以换成 https 协议进行克隆# git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions# 修改.zshrc配置文件plugins=(其他的插件 zsh-autosuggestions)# 使配置生效source ~/.zshrc
如果感觉 → 补全不方便,还可以自定义补全的快捷键,比如我设置的逗号补全
# 在 .zshrc 文件添加这句话即可。
bindkey ',' autosuggest-accept
zsh-autosuggestion颜色为白色的问题解决
实际上应该是终端类型不支持008这个灰色, 所以直接显示白色了, 直接
exportTERM=xterm-256color
或者加到
.zshrc
中:
echo"export TERM=xterm-256color">> ~/.zshrc
source ~/.zshrc
版权归原作者 背风衣人 所有, 如有侵权,请联系我们删除。