在Fedora 32上安装和设置ZSH和Oh-My-Zsh

在本教程中,我们将学习如何在Fedora 32桌面上安装和设置Zsh和Oh-my-Zsh。

Z壳 (ZSH)是UNIX命令解释器(shell),可用作交互式登录Shell和Shell脚本命令处理器。它合并了其他shell的功能,例如Bash,tcsk,ksh,但包含许多增强功能。一些功能包括:

  • 智能命令TAB自动完成
  • 改进的变量/数组处理
  • 拼写校正
  • 允许在所有正在运行的外壳程序之间共享命令历史记录
  • 在单个缓冲区中编辑多行命令
  • 高度定制

Zsh配置由一个令人愉悦的开源社区驱动框架来管理,该框架称为 哦,我的Zsh。哦,我的Zsh捆绑了许多功能,帮助程序,插件和主题,可用于为您的Shell体验增添趣味。

在Fedora 32上安装和设置ZSH和Oh-My-Zsh

运行系统更新

首先,请更新系统软件包。

dnf update

在Fedora 32上安装ZSH

Zsh在默认的Fedora仓库中可用,因此,您只需执行以下命令即可安装它。

dnf install zsh
============================================================================================================================================================================
 Package                               Architecture                             Version                                      Repository                                Size
============================================================================================================================================================================
Installing:
 zsh                                   x86_64                                   5.8-1.fc32                                   fedora                                   2.9 M

Transaction Summary
============================================================================================================================================================================
Install  1 Package

Total download size: 2.9 M
Installed size: 7.6 M
Is this ok [y/N]: y

安装完成后,您可以通过执行以下命令来检查安装ZSH的版本;

zsh --version
zsh 5.8 (x86_64-redhat-linux-gnu)

在Fedora 32上配置ZSH

要在Fedora 32上开始ZSH的配置,您需要将默认的Shell解释器更改为ZSH。

例如,我当前以koromicha用户身份登录到Fedora 32。

[[email protected] ~]$ whoami
koromicha

我当前的外壳是bash;

echo $SHELL
/bin/bash

现在,要更改外壳,您可以使用 usermod 要么 chsh 命令。例如,要更改用户koromicha的默认外壳,只需运行;

sudo usermod -s $(which zsh) koromicha

您也可以使用以下命令简单地更改外壳 chsh 命令。

chsh -s $(which zsh)

关闭当前终端并打开一个新终端以使用您的新外壳。打开新终端后,将弹出ZSH配置向导,类似于下面的屏幕快照所示,其中应包含一些初始的ZSH配置选项;

您只需按 q 退出配置向导并继续在Fedora 32上配置ZSH。

之后,您应该可以看到shell提示从bash更改;

[[email protected] ~]$

到ZSH;

[[email protected]]~%

看到尾随 $ 对于bash和 % 对于zsh。

如果现在可以检查默认外壳程序;

echo $SHELL
/usr/bin/zsh

在Fedora 32上安装和配置Oh-my-Zsh

现在,我们已经有了ZSH。但是我们想走得更远,自定义外观。为此,我们将使用 我的天啊 框架。

在Fedora 32上安装oh-my-zsh

可以使用以下任一方法安装Oh-my-Zsh框架: curl 要么 wget 命令如下所示;

sudo dnf install wget curl
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

要么

sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

安装后,您将看到终端外观的另一变化。

在Fedora 32上安装和设置ZSH和Oh-My-Zsh
在Fedora 32上配置Oh-My-Zsh

现在,我们需要“ oh-my-zsh”的感觉! ! !因此,让我们继续进行配置。

Oh-my-Zsh配置文件位于 ~/.oh-my-zsh/ 目录。请注意,当您安装oh-my-zsh时,它将在以下位置创建默认的ZSH配置文件: $HOME。 ZSH的默认配置文件是 ~/.zshrc。这是基于 ~/.oh-my-zsh/templates/zshrc.zsh-template 模板。

Oh-My-Zsh主题配置

Oh-My-Zsh主题位于 ~/.oh-my-zsh/themes/ 夹。

要更改ZSH主题,请打开配置文件, ~/.zshrc,然后设置的值 ZSH_THEME= 设置为您首选主题的名称。

vim $HOME/.zshrc

如果您检查, robbyrussel 是ZSH的默认主题。

...
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
ZSH_THEME="robbyrussell"
...

因此,要替换或更改您的ZSH主题,请从获取主题名称 $HOME/.oh-my-zsh/themes/ 文件夹并替换 robbyrussell 使用您首选主题的新名称。

例如,将主题更改为 agnoster 主题, $HOME/.oh-my-zsh/themes/agnoster.zsh-theme

ZSH_THEME="agnoster"

重新加载 ~/.zshrc 每次进行更改时都会影响更改。

source ~/.zshrc

这就是 agnoster 主题将shell提示更改为外观;

在Fedora 32上安装和设置ZSH和Oh-My-Zsh

如何使用多个ZSH主题

如果您想随机使用多个选定的主题,请编辑 $HOME/.zshrc 并将主题设置为 random

ZSH_THEME="random"

然后,定义随机主题以从中进行选择;

ZSH_THEME_RANDOM_CANDIDATES=( "gnzh" "agnoster" "robbyrussel" )

查看更多主题 哦,我的zsh主题Github存储库

使用自定义Oh-My-ZSH主题

有很多oh-my-zsh自定义主题选项可以增强您的zsh可供选择。这些主题可以作为 外部Oh-my-zsh主题

可以在以下位置安装Oh-my-zsh自定义主题 $ZSH_CUSTOM 目录;

echo $ZSH_CUSTOM
~/.oh-my-zsh/custom

我通常喜欢使用的自定义主题之一是Powerlevel10k主题。因此,出于演示目的,让我们看看如何安装该主题。

在Fedora 32上安装Powerlevel10k Oh-My-Zsh主题

要安装和使用Powerlevel10k主题,首先需要安装推荐的字体, Meslo Nerd Font patched for Powerlevel10k

下载 Meslo Nerd字体为Powerlevel10k补丁 字体

cd $HOME/Downloads
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf

要安装字体,请导航至下载目录,然后 双击并安装 他们每个人,使 MesloLGS NF 全系统可用的字体。

接下来,配置您的终端以使用Powerlevel10k MesloLGS NF 字体。每种类型的终端都有不同的方式可以配置为使用此主题。

在GNOME终端上;

  • 右键单击终端上的任意位置,然后选择首选项。
  • 在选定的配置文件下 Profiles, 检查 Custom fontText Appearance 然后选择 MesloLGS NF Regular
  • 设置主题后,关闭“首选项”窗口。

在Fedora 32上安装和设置ZSH和Oh-My-Zsh
下载并安装Powerlevel10k Oh-My-Zsh主题

通过运行以下命令下载并安装Powerlevel10k oh-my-zsh主题;

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k

放置Powerlevel10k主题后,编辑Zsh配置文件, $HOME/.zshrc,然后将主题更改为 powerlevel10k/powerlevel10k

vim $HOME/.zshrc
...
# ZSH_THEME="robbyrussell"
# ZSH_THEME="agnoster"
ZSH_THEME="powerlevel10k/powerlevel10k"

保存并退出Zsh配置,然后重新加载配置。

source ~/.zshrc

重新加载Zsh配置后,将启动Powerlevel10k配置向导,它将询问一些问题以配置提示。适当回答问题。

在Fedora 32上安装和设置ZSH和Oh-My-Zsh

选择您的外壳程序。

通过一系列提供的问题,配置您希望提示符显示的样子。完成后保存更改,您的Powerlevel10k提示符现在看起来像屏幕快照的突出显示部分。

在Fedora 32上安装和设置ZSH和Oh-My-Zsh

基本上,下面是我为了得到上述提示而选择的选项;

  • 提示风格:(3)彩虹。
  • 字符集:(1)Unicode。
  • 显示当前时间:24小时
  • 提示分隔符:(2)垂直。
  • 提示头:(1)锋利。
  • 提示尾巴:(3)锋利。
  • 提示高度:(2)两行。
  • 提示连接:(1)断开连接。
  • 提示框:(2)左。
  • 镜框颜色:(2)浅。
  • 提示间距:(2)稀疏。
  • 图标:(2)许多图标。
  • 提示流程:(1)简洁。
  • 是否启用瞬态提示?
  • 即时提示模式:(1)详细(推荐)。

在Fedora 32上启用Oh-My-Zsh插件

有大量的oh-my-zsh插件可以为您的外壳增添趣味。插件存储在 ~/.oh-my-zsh/plugins。也可以定义自定义插件位置,例如, ~/.oh-my-zsh/custom/plugins

可以通过在下面的“插件”部分中定义插件来启用它们 ~/.zshrc 配置文件。

例如,使用以下命令轻松地为当前或以前的命令添加前缀 sudo 通过按 逃逸 键两次

vim ~/.zshrc
# Which plugins would you like to load?
# Standard plugins can be found in ~/.oh-my-zsh/plugins/*
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git sudo)

保存并退出外壳。然后来源 ~/.zshrc 使更改生效。

source ~/.zshrc

通过运行键入命令来验证插件,然后按两次转义键以sudo作为前缀。

每个插件都有关于其功能的自述文件。请务必检查。

通过使用Oh-my-zsh框架,可以非常自定义ZSH。欢迎进一步探索。

到此,我们的指南就结束了如何在Fedora 32上安装和设置ZSH和Oh-My-Zsh的指南。

也可以看看;

在Ubuntu 20.04上安装和设置ZSH和Oh-My-Zsh

如何在Ubuntu 20.04上安装AnyDesk

将Ubuntu 18.04升级到Ubuntu 20.04

在Ubuntu 20.04上安装VirtualBox Guest Additions

如何在Ubuntu 18.04上安装和设置ZSH和Oh-My-Zsh

Sidebar