标签 ZSH 下的文章

这是一篇快速而简单的指南,用 Oh My Zsh 和 Powerlevel10k 主题改造你的 Zsh 终端 Shell,使其在 Ubuntu 和其他 Linux 发行版中看起来很酷。

大多数 Linux 发行版中的默认 Shell 是 Bash。Bash 是一个可靠的和传统的工具。然而,它缺乏一些自定义功能,比如漂亮的颜色、光标支持等等。

你可以使用另一个 Shell,即 Zsh 来得到更多的设置调整,并帮助你扩展你的 Bash Shell 体验。

这个简单的指南解释了如何安装 Zsh、Oh My Zsh 并应用 Powerlevel10k 主题。

Oh My Zsh 和 Powerlevel10k 安装和配置指南

1、安装 Zsh 和改变 Shell

打开一个终端,使用以下适用于你的发行版的命令安装 Zsh。

Ubuntu、Debian、Linux Mint 和所有相关的发行版:

sudo apt install zsh

Fedora:

sudo dnf install zsh

Arch:

pacman -S zsh

安装完成后,找出 Zsh 的安装路径:

whereis zsh

然后使用当前用户的 Zsh 可执行路径改变 Shell。

chsh -s /usr/bin/zsh <用户名 >

改变当前用户的 Shell

关闭并再次打开终端。然后你应该看到 Zsh 的首次设置。选择选项 2。它将用一个默认的主题改变你的 Shell 提示符的外观,如下图所示:

Zsh 的首次设置

2、安装 Oh My Zsh

Oh My Zsh 是一套可以进一步定制 Zsh 的脚本。

首先,我们将从 GitHub 上下载 Oh My Zsh 脚本来安装它。如果你有 wgetgit 软件包,那就最好了。如果还没有安装,请使用以下命令 安装 wget & git:

sudo apt install wget
sudo apt install git

然后用下面的命令安装 Oh My Zsh:

sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

然后你应该看到 Oh My Zsh 及默认主题 Robbyrussell 应用到了你的终端。

安装 Oh My Zsh 和默认主题

Oh My Zsh 还附带了其他的主题,你可以 使用这篇指南 安装它们。然而,在本教程中,我将谈论一个特定的主题,即 Powerlevel10k。

3、为 Oh My Zsh 安装 Powerlevel10k 主题

打开终端,运行以下命令,从 GitHub 上克隆 Powerlevel10k 代码库,并将文件放到 Oh My Zsh 的配置文件夹中。

git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k

用文本编辑器打开 ~/.zshrc 文件,将 ZSH_THEME 变量设为 "powerlevel10k/powerlevel10k"

cd ~
nano .zshrc

默认情况下,它应该是 Robbyrussell。删除 ”robbyrussell",添加下面的 "powerlevel10k/powerlevel10k"

更改后,你的 ~/.zshrc 文件应该是这样的:

ZSH_THEME="powerlevel10k/powerlevel10k”

保存并关闭该文件(CTRL+O、回车和 CTRL+X)。

改变 Oh My Zsh 主题为 Powerlevel10k

重新启动你的终端,启动首次向导来设置 Powerlevel10k 主题。

4、Powerleve10k 的首次设置

安装后启动终端时,Powerlevel10k 会提示你各种问题以了解你的 Linux 发行版设置。所以,根据你的需要按下键,按照你的口味来定制你的终端。下面是一些问题的例子截图,可以给你一些启发。

Powerlevel10k - wizard1

Powerlevel10k - wizard2

最后,你可以保存文件,享受你的终端的新面貌。

应用 Powerlevel10k Zsh 主题设置后

如果你想再次重启配置向导,运行以下程序。你可以随心所欲地做,次数不限。

p10k configure

基本设置就这样结束了。如果你想了解更多,请继续阅读。

更多配置(高级用法)

5、安装 Dracula GNOME 终端主题

如果你使用的是带有原生终端应用的 GNOME 桌面,你可以试试令人惊叹的 Drakula 主题。要做到这一点,打开一个终端,运行下面的命令来下载该主题:

git clone https://github.com/dracula/gnome-terminalcd gnome-terminal

打开 GNOME “终端”应用,进入偏好设置。通过点击 “+” 添加一个新的配置文件,并命名为 “drakula”。然后进入颜色标签,取消勾选 “ 使用系统主题的颜色 use colors from system theme ” 选项。

为终端创建一个新的配置文件

回到终端,运行以下程序。当出现提示时,选择你刚才创建的配置文件名称,如上所述。

./install.sh

为 GNOME “终端”应用 Drakula 主题

一旦安装完成,回到偏好设置中,将 Drakula 配置文件标记为默认。

6、Zsh 的自动补完和语法高亮

你可能想试试由社区开发的两个可用于 Zsh 的插件。它们是 zsh-autosuggestions 和 zsh-syntax-highlighting。

打开终端,运行以下程序,下载 zsh-autosuggestions,并将其放在插件文件夹中:

git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions

同样地,为语法高亮插件运行以下程序:

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting

通过文本编辑器打开 ~/.zshrc文件(使用以下命令),并找到 plugins=(git) 一行。并将其替换为以下内容:

nano ~/.zshrc
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

使用 CTRL+O、回车和 CTRL+X 保存并关闭该文件。

关闭并打开你的终端。现在,你应该可以使用自动建议和语法高亮了。

总结

这样就好了!你现在应该已经在你的系统上安装了 Oh My Zsh 和 Powerlevel10k 主题。你可以根据自己的需要,进一步定制 Powerlevel10k 主题的外观和行为。

干杯。


via: https://www.debugpoint.com/oh-my-zsh-powerlevel10k/

作者:Arindam 选题:lkxed 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

用开源工具让你的终端窗口在 Mac 上漂亮起来。

 title=

你是否曾经厌倦了在你的 macOS 电脑上看到同样老式的终端窗口?如果是这样,使用开源的 Oh My Zsh 框架和 Powerlevel10k 主题为你的视图添加一些点缀。

这个基本的逐步教程将让你开始定制你的 macOS 终端。如果你是一个 Linux 用户,请查看 Seth Kenlon 的指南 为 Zsh 添加主题和插件 以获得深入指导。

步骤 1:安装 Oh My Zsh

Oh My Zsh 是一个开源的、社区驱动的框架,用于管理你的 Z shell (Zsh) 配置。

 title=

Oh My Zsh 是在 MIT 许可下发布的。使用以下命令安装:

$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

步骤 2:安装 Powerlevel10k 字体

 title=

Powerlevel10k 是一个 MIT 许可的 Zsh 主题。在安装 Powerlevel10k 之前,你需要为你的终端安装自定义字体。

Powerlevel10 GitHub 页面,在 README 中 搜索 “fonts”。安装自定义字体的步骤会根据你的操作系统而有所不同。这只需要简单地点击-下载-安装的系列操作。

 title=

步骤 3:安装 Powerlevel10k 主题

接下来,运行以下命令安装 Powerlevel10k:

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

完成后,用文本编辑器,比如 Vim,打开 ~/.zshrc 配置文件,设置行 ZSH_THEME="powerlevel10k/powerlevel10k,然后保存文件。

步骤 4:完成 Powerlevel10 的设置

打开一个新的终端,你应该看到 Powerlevel10k 配置向导。如果没有,运行 p10k configure 来调出配置向导。如果你在步骤 2 中安装了自定义字体,那么图标和符号应该正确显示。将默认字体更改为 MeslowLG NF

 title=

当你完成配置后,你应该会看到一个漂亮的终端。

 title=

就是这些了!你应该可以享受你美丽的新终端了。


via: https://opensource.com/article/21/4/zsh-mac

作者:Bryant Son 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Shell 是类 Unix 系统中超级好用的工具,而 Zsh 是 shell 中的佼佼者,但是现在网上一搜索 Zsh 的配置方案,遍地都是的互相复制粘贴的 oh-my-zsh 配置方案。事实上 oh-my-zsh 并不好用,严重拖慢了 Zsh 的速度,反而让你的工作并不高效。现在将我自己的使用方案分享给大家,教大家配置一个高效好用的 Zsh。

安装 Zsh

我笔记本电脑使用的是 ArchLinux,服务器使用的是 Ubuntu。主要介绍这两个发行版的配置方法,红帽系的发行版请自行尝试。

我个人喜欢尽量从发行版的源里安装。从源安装具有方便,稳定,容易维护等优点。

在 ArchLinux 安装 Zsh

终端里面输入:

sudo pacman -Sy zsh

在 Ubuntu 安装 Zsh

终端里面输入:

sudo apt-get update
sudo apt-get install zsh

安装插件

我只需要两个插件:

  • zsh-autosuggestions:这个是自动建议插件,能够自动提示你需要的命令。
  • zsh-syntax-highlighting:这个是代码高亮插件,能够使你的命令行各个命令清晰明了。

还有一个主题:

  • zsh-theme-powerlevel10k 这个主题提供漂亮的提示符,可以显示当前路径、时间、命令执行成功与否,还能够支持 git 分支显示等等。

同样是尽可能从源里面安装。

Ubuntu 20.10 的源里面是 powerlevel9k,配置好后实际使用体验和 powerlevel10k 差别不大。

在 ArchLinux 安装插件和主题

终端里面输入命令:

sudo pacman -S zsh-autosuggestions zsh-syntax-highlighting zsh-theme-powerlevel10k zsh-completions

在 Ubuntu 安装插件和主题

终端里面输入命令:

sudo apt-get install zsh-autosuggestions zsh-syntax-highlighting zsh-theme-powerlevel9k

这样插件和主题就安装好了。

更改默认 shell,并配置插件和主题

安装好了之后就是启用 Zsh,并且配置插件和主题了。

更改默认 shell

终端输入命令:

chsh -s /usr/bin/zsh

ArchLinux 和 Ubuntu 都是同样的操作,然后注销并重新登录,就启用了 Zsh。第一次进入 Zsh 会自动出现一个配置界面,这个界面可以根据需要自定义 Zsh。

在这里输入 1 就可以进入配置界面了。

配置界面中各个菜单代表的意思分别是:

  • 1:设置命令历史记录相关的选项
  • 2:设置命令补全系统
  • 3:设置热建
  • 4:选择各种常见的选项,只需要选择“On”或者“Off”
  • 0:退出,并使用空白(默认)配置
  • a:终止设置并退出
  • q:退出

这里根据提示,然后按照你自己的喜好配置就可以了。配置好后,会在你的用户目录下生成 .zshrc 文件。然后我们要去这个文件中启用插件和主题。

配置插件和主题

Zsh 的配置文件是 ~/.zshrc 文件,这个文件在你的用户目录下 ~/。删掉了这个文件,再次进入 Zsh,又会触发 Zsh 的配置界面。

在 ArchLinux 启用插件和主题

打开 ~/.zshrc 文件,将以下行代码添加到其中:

source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme
在 Ubuntu 启用插件和主题

打开 ~/.zshrc 文件,将以下行代码添加到其中:

source /usr/share/powerlevel9k/powerlevel9k.zsh-theme
source /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh
source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

这样就成功的启用了插件和主题,插件不需要额外的配置就很好用,有额外配置需求的可以自行研究。

powerlevel10k 主题在首次进入时,会触发一个配置界面。

然后根据提示和你的喜好一步步完成配置即可。

这里可以选择你喜欢的提示符。

配置完成后就可以愉快的使用啦!

本文将向你展示如何在 Fedora 的命令行解释器(CLI)Shell 中设置一些强大的工具。如果使用bash(默认)或zsh,Fedora 可让你轻松设置这些工具。

前置需求

这需要一些已安装的软件包。在 Fedora 工作站上,运行以下命令:

sudo dnf install git wget curl ruby ruby-devel zsh util-linux-user redhat-rpm-config gcc gcc-c++ make

在 Silverblue 上运行:

sudo rpm-ostree install git wget curl ruby ruby-devel zsh util-linux-user redhat-rpm-config gcc gcc-c++ make

注意:在 Silverblue 上,你需要重新启动才能继续。

字体

你可以通过安装新字体使终端焕然一新。为什么不使用可以同时显示字符和图标的字体呢?

Nerd-Fonts

打开一个新终端,然后键入以下命令:

git clone https://github.com/ryanoasis/nerd-fonts ~/.nerd-fonts
cd .nerd-fonts
sudo ./install.sh

Awesome-Fonts

在工作站上,使用以下命令进行安装:

sudo dnf fontawesome-fonts

在 Silverblue 上键入:

sudo rpm-ostree install fontawesome-fonts

Powerline

Powerline 是 vim 的状态行插件,并为其他几个应用程序也提供了状态行和提示符,包括 bash、zsh、tmus、i3、Awesome、IPython 和 Qtile。你也可以在官方文档站点上找到更多信息。

安装

要在 Fedora 工作站上安装 Powerline 实用程序,请打开一个新终端并运行:

sudo dnf install powerline vim-powerline tmux-powerline powerline-fonts

在 Silverblue 上,命令更改为:

sudo rpm-ostree install powerline vim-powerline tmux-powerline powerline-fonts

注意:在 Silverblue 上,你需要重新启动才能继续。

激活 Powerline

要使 Powerline 默认处于活动状态,请将下面的代码放在 ~/.bashrc 文件的末尾:

if [ -f `which powerline-daemon` ]; then
  powerline-daemon -q
  POWERLINE_BASH_CONTINUATION=1
  POWERLINE_BASH_SELECT=1
  . /usr/share/powerline/bash/powerline.sh
fi

最后,关闭终端并打开一个新终端。它看起来像这样:

Oh-My-Zsh

Oh-My-Zsh 是用于管理 Zsh 配置的框架。它捆绑了有用的功能、插件和主题。要了解如何将 Zsh 设置为默认外壳程序,请参见这篇文章

安装

在终端中输入:

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

或者,你也可以输入以下内容:

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

最后,你将看到如下所示的终端:

恭喜,Oh-my-zsh 已安装成功。

主题

安装后,你可以选择主题。我喜欢使用 powerlevel10k。优点之一是它比 powerlevel9k 主题快 100 倍。要安装它,请运行以下命令行:

git clone https://github.com/romkatv/powerlevel10k.git ~/.oh-my-zsh/themes/powerlevel10k

并在你的 ~/.zshrc 文件设置 ZSH_THEME

ZSH_THEME=powerlevel10k/powerlevel10k

关闭终端。再次打开终端时,powerlevel10k 配置向导将询问你几个问题以正确配置提示符。

完成 powerline10k 配置向导后,你的提示符将如下所示:

如果你不喜欢它。你可以随时使用 p10k configure 命令来运行 powerline10k 向导。

启用插件

插件存储在 .oh-my-zsh/plugins 文件夹中。要激活插件,你需要编辑 ~/.zshrc 文件。安装插件意味着你创建了一系列执行特定功能的别名或快捷方式。

例如,要启用 firewalld 和 git 插件,请首先编辑 ~/.zshrc

plugins=(firewalld git)

注意:使用空格分隔插件名称列表。

然后重新加载配置:

source ~/.zshrc

要查看创建的别名,请使用以下命令:

alias | grep firewall

更多配置

我建议安装语法高亮和语法自动建议插件。

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

将它们添加到文件 ~/.zshrc 的插件列表中。

plugins=( [plugins...] zsh-syntax-highlighting zsh-autosuggestions)

重新加载配置。

source ~/.zshrc

查看结果:

彩色的文件夹和图标

colorls 是一个 ruby gem,可使用颜色和超棒的字体图标美化终端的 ls 命令。你可以访问官方网站以获取更多信息。

因为它是个 ruby gem,所以请按照以下简单步骤操作:

sudo gem install colorls

要保持最新状态,只需执行以下操作:

sudo gem update colorls

为防止每次输入 colorls,你可以在 ~/.bashrc~/.zshrc 中创建别名。

alias ll='colorls -lA --sd --gs --group-directories-first'
alias ls='colorls --group-directories-first'

另外,你可以为 colorls 的选项启用制表符补完功能,只需在 shell 配置末尾输入以下行:

source $(dirname ($gem which colorls))/tab_complete.sh

重新加载并查看会发生什么:


via: https://fedoramagazine.org/tuning-your-bash-or-zsh-shell-in-workstation-and-silverblue/

作者:George Luiz Maluf 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

通过 Oh My Zsh 安装的主题和插件来扩展 Zsh 的功能。

在我的前文中,我向大家展示了如何安装并使用 Z-Shell (Zsh)。对于某些用户来说,Zsh 最令人激动的是它可以安装主题。Zsh 安装主题非常容易,一方面是因为有非常活跃的社区为 Z-Shell 设计主题,另一方面是因为有 Oh My Zsh 这个项目。这使得安装主题变得轻而易举。

主题的变化可能会立刻吸引你的注意力,因此如果你安装了 Zsh 并且将默认的 Shell 替换为 Zsh 时,你可能不喜欢 Shell 默认主题的样子,那么你可以立即更换 Oh My Zsh 自带的 100 多个主题。Oh My Zsh 不仅拥有大量精美的主题,同时还有数以百计的扩展 Zsh 功能的插件。

安装 Oh My Zsh

Oh My Zsh 的官网建议你使用一个脚本在有网络的情况下来安装这个包。尽管 Oh My Zsh 项目几乎是可以令人信服的,但是盲目地在你的电脑上运行一个脚本这是一个糟糕的建议。如果你想运行这个脚本,你可以把它下载下来,看一下它实现了什么功能,在你确信你已经了解了它的所作所为之后,你就可以运行它了。

如果你下载了脚本并且阅读了它,你就会发现安装过程仅仅只有三步:

1、克隆 oh-my-zsh

第一步,克隆 oh-my-zsh 库到 ~/.oh-my-zsh 目录:

% git clone http://github.com/robbyrussell/oh-my-zsh ~/.oh-my-zsh

2、切换配置文件

下一步,备份你已有的 .zshrc 文件,然后将 oh-my-zsh 自带的配置文件移动到这个地方。这两步操作可以一步完成,只需要你的 mv 命令支持 -b 这个选项。

% mv -b \
~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

3、编辑配置文件

默认情况下,Oh My Zsh 自带的配置文件是非常简陋的。如果你想将你自己的 ~/.zshrc 文件合并到 .oh-my-zsh 的配置文件中。你可以使用 cat 命令将你的旧的配置文件添加到新文件的末尾。

% cat ~/.zshrc~ >> ~/.zshrc

看一下默认的配置文件以及它提供的一些选项。用你最喜欢的编辑器打开 ~/.zshrc 文件。这个文件有非常良好的注释。这是了解它的一个非常好的方法。

例如,你可以更改 .oh-my-zsh 目录的位置。在安装的时候,它默认是位于你的家目录。但是,根据 Free Desktop 所定义的现代 Linux 规范。这个目录应当放置于 ~/.local/share 。你可以在配置文件中进行修改。如下所示:

# Path to your oh-my-zsh installation.
export ZSH=$HOME/.local/share/oh-my-zsh

然后将 .oh-my-zsh 目录移动到你新配置的目录下:

% mv ~/.oh-my-zsh $HOME/.local/share/oh-my-zsh

如果你使用的是 MacOS,这个目录可能会有点含糊不清,但是最合适的位置可能是在 $HOME/Library/Application\ Support

重新启动 Zsh

编辑配置文件之后,你必须重新启动你的 Shell。在这之前,你必须确定你的任何操作都已正确完成。例如,在你修改了 .oh-my-zsh 目录的路径之后。不要忘记将目录移动到新的位置。如果你不想重新启动你的 Shell。你可以使用 source 命令来使你的配置文件生效。

% source ~/.zshrc
➜  .oh-my-zsh git:(master) ✗

你可以忽略任何丢失更新文件的警告;他们将会在重启的时候再次进行解析。

更换你的主题

安装好 oh-my-zsh 之后。你可以将你的 Zsh 的主题设置为 robbyrussell,这是一个该项目维护者的主题。这个主题的更改是非常小的,仅仅是改变了提示符的颜色。

你可以通过列出 .oh-my-zsh 目录下的所有文件来查看所有安装的主题:

➜  .oh-my-zsh git:(master) ✗ ls ~/.local/share/oh-my-zsh/themes
3den.zsh-theme
adben.zsh-theme
af-magic.zsh-theme
afowler.zsh-theme
agnoster.zsh-theme
[...]

想在切换主题之前查看一下它的样子,你可以查看 Oh My Zsh 的 wiki 页面。要查看更多主题,可以查看 外部主题 wiki 页面。

大部分的主题是非常易于安装和使用的,仅仅需要改变 .zshrc 文件中的配置选项然后重新载入配置文件。

➜ ~ sed -i 's/_THEME=\"robbyrussel\"/_THEME=\"linuxonly\"/g' ~/.zshrc
➜ ~ source ~/.zshrc
seth@darkstar:pts/0-&gt;/home/skenlon (0) ➜

其他的主题可能需要一些额外的配置。例如,为了使用 agnoster 主题,你必须先安装 Powerline 字体。这是一个开源字体,如果你使用 Linux 操作系统的话,这个字体很可能在你的软件库中存在。使用下面的命令安装这个字体:

➜ ~ sudo dnf install powerline-fonts

在配置文件中更改你的主题:

➜ ~ sed -i 's/_THEME=\"linuxonly\"/_THEME=\"agnoster\"/g' ~/.zshrc

重新启动你的 Sehll(一个简单的 source 命令并不会起作用)。一旦重启,你就可以看到新的主题:

 title=

安装插件

Oh My Zsh 有超过 200 的插件,你可以在 .oh-my-zsh/plugins 中看到它们。每一个扩展目录下都有一个 README 文件解释了这个插件的作用。

一些插件相当简单。例如,dnfubuntubrewmacports 插件仅仅是为了简化与 DNF、Apt、Homebres 和 MacPorts 的交互操作而定义的一些别名。

而其他的一些插件则较为复杂,git 插件默认是被激活使用的。当你的目录是一个 git 仓库的时候,这个扩展就会更新你的 Shell 提示符,以显示当前的分支和是否有未合并的更改。

为了激活这个扩展,你可以将这个扩展添加到你的配置文件 ~/.zshrc 中。例如,你可以添加 dnfpass 插件,按照如下的方式更改:

plugins=(git dnf pass)

保存修改,重新启动你的 Shell。

% source ~/.zshrc

这个扩展现在就可以使用了。你可以通过使用 dnf 提供的别名来测试一下:

% dnfs fop
====== Name Exactly Matched: fop ======
fop.noarch : XSL-driven print formatter

不同的插件做不同的事,因此你可以一次安装一两个插件来帮你学习新的特性和功能。

兼容性

一些 Oh My Zsh 插件具有通用性。如果你看到一个插件声称它可以与 Bash 兼容,那么它就可以在你自己的 Bash 中使用。另一些插件需要 Zsh 提供的特定功能。因此,它们并不是所有都能工作。但是你可以添加一些其他的插件,例如 dnfubuntufirewalld,以及其他的一些插件。你可以使用 source 使你的选择生效。例如:

if [ -d $HOME/.local/share/oh-my-zsh/plugins ]; then
        source $HOME/.local/share/oh-my-zsh/plugins/dnf/dnf.plugin.zsh
fi

选择或者不选择 Zsh

Z-shell 的内置功能和它由社区贡献的扩展功能都非常强大。你可以把它当成你的主 Shell 使用,你也可以在你休闲娱乐的时候尝试一下。这取决于你的爱好。

什么是你最喜爱的主题和扩展可以在下方的评论告诉我们!


via: https://opensource.com/article/19/9/adding-plugins-zsh

作者:Seth Kenlon 选题:lujun9972 译者:amwps290 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

从 Bash 进阶到 Z-shell,改进你的 shell 体验。

Z-shell(Zsh)是一种 Bourne 式的交互式 POSIX shell,以其丰富的创新功能而著称。Z-Shell 用户经常会提及它的许多便利之处,赞誉它对效率的提高和丰富的自定义支持。

如果你刚接触 Linux 或 Unix,但你的经验足以让你可以打开终端并运行一些命令的话,那么你可能使用的就是 Bash shell。Bash 可能是最具有代表意义的自由软件 shell,部分是因为它具有的先进的功能,部分是因为它是大多数流行的 Linux 和 Unix 操作系统上的默认 shell。但是,随着使用的次数越多,你可能会开始发现一些细节可能能够做的更好。开源有一个众所周知的地方,那就是选择。所以,许多人选择从 Bash “毕业”到 Z。

Zsh 介绍

Shell 只是操作系统的接口。交互式 shell 程序允许你通过称为标准输入(stdin)的某个东西键入命令,并通过标准输出(stdout)和标准错误(stderr)获取输出。有很多种 shell,如 Bash、Csh、Ksh、Tcsh、Dash 和 Zsh。每个都有其开发者所认为最适合于 Shell 的功能。而这些功能的好坏,则取决于最终用户。

Zsh 具有交互式制表符补全、自动文件搜索、支持正则表达式、用于定义命令范围的高级速记符,以及丰富的主题引擎等功能。这些功能也包含在你所熟悉的其它 Bourne 式 shell 环境中,这意味着,如果你已经了解并喜欢 Bash,那么你也会熟悉 Zsh,除此以外,它还有更多的功能。你可能会认为它是一种 Bash++。

安装 Zsh

用你的包管理器安装 Zsh。

在 Fedora、RHEL 和 CentOS 上:

$ sudo dnf install zsh

在 Ubuntu 和 Debian 上:

$ sudo apt install zsh

在 MacOS 上你可以使用 MacPorts 安装它:

$ sudo port install zsh

或使用 Homebrew:

$ brew install zsh

在 Windows 上也可以运行 Zsh,但是只能在 Linux 层或类似 Linux 的层之上运行,例如 Windows 的 Linux 子系统(WSL)或 Cygwin。这类安装超出了本文的范围,因此请参考微软的文档。

设置 Zsh

Zsh 不是终端模拟器。它是在终端仿真器中运行的 shell。因此,要启动 Zsh,必须首先启动一个终端窗口,例如 GNOME Terminal、Konsole、Terminal、iTerm2、rxvt 或你喜欢的其它终端。然后,你可以通过键入以下命令启动 Zsh:

$ zsh

首次启动 Zsh 时,会要求你选择一些配置选项。这些都可以在以后更改,因此请按 1 继续。

This is the Z Shell configuration function for new users, zsh-newuser-install.

(q)  Quit and do nothing.

(0)  Exit, creating the file ~/.zshrc

(1)  Continue to the main menu.

偏好设置分为四类,因此请从顶部开始。

  1. 第一个类使你可以选择在 shell 历史记录文件中保留多少个命令。默认情况下,它设置为 1,000 行。
  2. Zsh 补全是其最令人兴奋的功能之一。为了简单起见,请考虑使用其默认选项激活它,直到你习惯了它的工作方式。按 1 使用默认选项,按 2 手动设置选项。
  3. 选择 Emacs 式键绑定或 Vi 式键绑定。Bash 使用 Emacs 式绑定,因此你可能已经习惯了。
  4. 最后,你可以了解(以及设置或取消设置)Zsh 的一些精妙的功能。例如,当你提供不带命令的非可执行路径时,可以通过让 Zsh 来改变目录而无需你使用 cd 命令。要激活这些额外选项之一,请输入选项号并输入 s 进行设置。请尝试打开所有选项以获得完整的 Zsh 体验。你可以稍后通过编辑 ~/.zshrc 取消设置它们。

要完成配置,请按 0

使用 Zsh

刚开始,Zsh 的使用感受就像使用 Bash 一样,这无疑是其众多功能之一。例如,Bash 和 Tcsh 之间就存在严重的差异,因此如果你必须在工作中或在服务器上使用 Bash,而 Zsh 就可以在家里轻松尝试和使用,这样在 Bash 和 Zsh 之间轻松切换就是一种便利。

在 Zsh 中改变目录

正是这些微小的差异使 Zsh 变得好用。首先,尝试在没有 cd 命令的情况下,将目录更改为 Documents 文件夹。简直太棒了,难以置信。如果你输入的是目录路径而没有进一步的指令,Zsh 会更改为该目录:

% Documents
% pwd
/home/seth/Documents

而这会在 Bash 或任何其他普通 shell 中导致错误。但是 Zsh 却根本不是普通的 shell,而这仅仅才是开始。

在 Zsh 中搜索

当你想使用普通 shell 程序查找文件时,可以使用 findlocate 命令。最起码,你可以使用 ls -R 来递归地列出一组目录。Zsh 内置有允许它在当前目录或任何其他子目录中查找文件的功能。

例如,假设你有两个名为 foo.txt 的文件。一个位于你的当前目录中,另一个位于名为 foo 的子目录中。在 Bash Shell 中,你可以使用以下命令列出当前目录中的文件:

$ ls
foo.txt

你可以通过明确指明子目录的路径来列出另一个目录:

$ ls foo
foo.txt

要同时列出这两者,你必须使用 -R 开关,并结合使用 grep

$ ls -R | grep foo.txt
foo.txt
foo.txt

但是在 Zsh 中,你可以使用 ** 速记符号:

% ls **/foo.txt
foo.txt
foo.txt

你可以在任何命令中使用此语法,而不仅限于 ls。想象一下在这样的场景中提高的效率:将特定文件类型从一组目录中移动到单个位置、将文本片段串联到一个文件中,或对日志进行抽取。

使用 Zsh 的制表符补全

制表符补全是 Bash 和其他一些 Shell 中的高级用户功能,它变得司空见惯,席卷了 Unix 世界。Unix 用户不再需要在输入冗长而乏味的路径时使用通配符(例如输入 /h*/s*h/V*/SCS/sc*/comp*/t*/a*/*9/04/LS*boat*v,比输入 /home/seth/Videos/SCS/scenes/composite/takes/approved/109/04/LS_boat-port-cargo-mover.mkv 要容易得多)。相反,他们只要输入足够的唯一字符串即可按 Tab 键。例如,如果你知道在系统的根目录下只有一个以 h 开头的目录,则可以键入 /h,然后单击 Tab。快速、简单、高效。它还会确认路径存在;如果 Tab 无法完成任何操作,则说明你在错误的位置或输入了错误的路径部分。

但是,如果你有许多目录有五个或更多相同的首字母,Tab 会坚决拒绝进行补全。尽管在大多数现代终端中,它将(至少会)显示阻止其进行猜测你的意思的文件,但通常需要按两次 Tab 键才能显示它们。因此,制表符补全通常会变成来回按下键盘上字母和制表符,以至于你好像在接受钢琴独奏会的训练。

Zsh 通过循环可能的补全来解决这个小问题。如果键入 ls ~/D 并按 Tab,则 Zsh 首先使用 Documents 来完成命令;如果再次按 Tab,它将提供 Downloads,依此类推,直到找到所需的选项。

Zsh 中的通配符

在 Zsh 中,通配符的行为不同于 Bash 中用户所习惯的行为。首先,可以对其进行修改。例如,如果要列出当前目录中的所有文件夹,则可以使用修改后的通配符:

% ls
dir0   dir1   dir2   file0   file1
% ls *(/)
dir0   dir1   dir2

在此示例中,(/) 限定了通配符的结果,因此 Zsh 仅显示目录。要仅列出文件,请使用 (.)。要列出符号链接,请使用 (@)。要列出可执行文件,请使用 (*)

% ls ~/bin/*(*)
fop  exify  tt

Zsh 不仅仅知道文件类型。它也可以使用相同的通配符修饰符约定根据修改时间列出。例如,如果要查找在过去八个小时内修改的文件,请使用 mh 修饰符(即 “modified hours” 的缩写)和小时的负整数:

% ls ~/Documents/*(mh-8)
cal.org   game.org   home.org

要查找超过(例如)两天前修改过的文件,修饰符更改为 md(即 “modified day” 的缩写),并带上天数的正整数:

% ls ~/Documents/*(+2)
holiday.org

通配符修饰符和限定符还可以做很多事情,因此,请阅读 Zsh 手册页,以获取全部详细信息。

通配符的副作用

要像在 Bash 中使用通配符一样使用它,有时必须在 Zsh 中对通配符进行转义。例如,如果要在 Bash 中将某些文件复制到服务器上,则可以使用如下通配符:

$ scp IMG_*.JPG [email protected]:~/www/ph*/*19/09/14

这在 Bash 中有效,但是在 Zsh 中会返回错误,因为它在发出 scp 命令之前尝试在远程端扩展该变量(通配符)。为避免这种情况,必须转义远程变量(通配符):

% scp IMG_*.JPG [email protected]:~/www/ph\*/\*19/09/14

当你切换到新的 shell 时,这些小异常可能会使你感到沮丧。使用 Zsh 时会遇到的问题不多(体验过 Zsh 后切换回 Bash 的可能遇到更多),但是当它们发生时,请保持镇定且坦率。严格遵守 POSIX 的情况很少会出错,但是如果失败了,请查找问题以解决并继续。对于许多在工作中困在一个 shell 上而在家中困在另一个 shell 上的用户来说,hyperpolyglot.org 已被证明其是无价的。

在我的下一篇 Zsh 文章中,我将向你展示如何安装主题和插件以定制你的 Z-Shell 甚至 Z-ier。


via: https://opensource.com/article/19/9/getting-started-zsh

作者:Seth Kenlon 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出