如何在macOS终端中自定义zsh提示符

自从版本10.15 Catalina更新以来,macOS包括Z shell(zsh)作为默认设置,而不是Terminal应用程序中的Bash。也就是说,您仍然可以在终端机中看到相同的黑色窗口,上面带有白色文本。事情不一定要那样做。

您可以整理zsh提示符以使其最小化并充分利用空间。我们将向您展示如何在终端应用程序中自定义zsh提示,以在您选择的任何背景下脱颖而出。

zsh提示的基础

启动终端应用程序时,它将显示一些有用的信息,例如您的上次登录名和命令提示符。默认情况下,这就是提示的外观。

 Last login: Wed Feb 3 22:00:40 on console
[email protected] ~ %

zsh提示符显示由用户名和计算机型号(例如MacBook Air,MacBook Pro,Mac Mini等)组成的文本字符串。代字号(〜)表示提示在主目录中的位置。

相关:如何在Mac上打开终端

创建Z Shell配置文件以存储所有设置

通常,您必须修改系统文件才能更改默认外观。这是因为macOS更新会将所有系统文件重置为默认值,并且您将丢失所做的所有更改。

因此,您可以为zsh配置文件创建一个特定的设置文件(称为点文件),以将所需的所有更改和设置存储在zsh提示符下。

好吧,默认情况下在macOS上找不到该点文件,因此您必须制作一个。建议创建一个新的.zshrc配置文件以存储所有设置,例如zsh提示的外观和行为。

以下是创建zsh配置文件(点文件)的方法:

1.打开终端应用程序。

2.键入以下命令,然后按Return键。

 touch ~/.zshrc

这将在用户帐户的主目录中创建一个.zshrc配置文件。如果已启用查看隐藏的系统文件,则可以在Finder的/ User / <用户名> /路径下看到它。

之后,每次启动Terminal时,zsh配置文件将可用于登录和交互式Shell。但是,它不会在SSH会话中处于活动状态。

您想要对zsh提示符进行的所有更改都可以包含在此配置文件中。

在终端中自定义zsh提示

通常,默认的zsh提示符包含从用户主目录开始的信息,如用户名,计算机名称和位置。这些详细信息存储在/ etc / zshrc位置的zsh shell的系统文件中。

 PS1="%[email protected]%m %1~ %#"

在此变量字符串中:

  • %n是您帐户的用户名。
  • %m是MacBook的型号名称。
  • %1〜符号表示当前工作目录路径,〜除去$ HOME目录位置。
  • %#表示如果外壳程序以root(管理员)特权运行,则提示符将显示#,否则,则提供%。

要对默认的zsh提示符进行任何更改,您必须添加相关的值,以使该提示符与默认的提示符不同。

这是解决该问题的方法。打开“终端” ,键入以下命令,然后按Enter。

 nano ~/.zshrc

如果您是第一次访问它,它将为空白。您可以使用文本PROMPT ='…'添加新行,并在椭圆中包含相关值。

要对zsh提示符进行简单修改,可以在.zshrc配置文件中键入这些值。

 PROMPT='%n~$'

按Ctrl + O确认对文件进行了更改,然后按Ctrl + X退出nano编辑器。

打开一个新的“终端”窗口,以确认并查看您刚刚进行的更改。您的新zsh提示符将在末尾显示您的mac用户名,主目录和$符号。

在zsh提示中添加日期和时间

除了用户名之外,您还可以附加当前日期或时间,这样就不必移开活动的“终端”窗口来查看该信息。

启动终端并打开.zshrc配置文件。

 nano ~/.zshrc

要将日期包括在提示中,可以使用%D表示日期以yy-mm-dd格式显示,或者使用%W表示日期以mm / dd / yy格式显示。然后新的提示将显示为

PROMPT='%n:%W:~$'

如果要在zsh提示符中包括系统时间,请以24小时格式为当前时间添加%T,以am / pm或12小时格式显示的时间添加%t,或使用%*显示时间(以24小时格式)和秒。

 PROMPT='%n:%T:~$'

在zsh提示中为文本添加颜色

您是否对zsh提示的白色文本感到厌倦?除了用颜色修改“终端”应用程序之外,您还可以在文本中添加一些颜色,以便获得不错的视觉效果。

启动终端并打开.zshrc配置文件。

 nano ~/.zshrc

zsh支持提示文本的颜色和灰色阴影,以补充背景。您可以选择黑色,白色,黄色,绿色,红色,蓝色,青色和洋红色之间的前景色(文本)。

这是使用方法。

 PROMPT='%F{cyan}%n%f:~$'

如果要选择特定的阴影,则可以在终端支持的0至256种8位颜色之间进行选择。这是使用颜色数值的方法。

 PROMPT='%F{51}%n%f:~$'

您需要将%F和%f默认前景颜色变量放在要着色的相关文本之间。

在zsh提示中添加视觉效果

如果对提示的文本进行着色不足,则可以突出显示zsh提示,使其突出显示在文本墙中,并且可以轻松发现它。对于初学者,您可以加粗zsh提示符。

 PROMPT='%B%F{51}%n%f%b:~$'

在相关文本之间的开头添加%B并在其末尾添加%b将使其变为粗体。

同样,您可以将%S放在开头,将%s放在结尾以突出显示文本。高亮显示的颜色与您选择在%S和%s变量之间显示的颜色相同。

 PROMPT='%S%F{51}%n%f%s:~$'

您还可以在zsh提示的文本下划线。要将下划线添加到提示中,可以在相关文本的开始处包含%U变量,并在相关文本的末尾包含%u。

 PROMPT='%U%F{51}%n%f%u:~$'

从zsh提示符中删除最后的登录详细信息

隐藏或禁用顶行以显示“终端”应用程序中的上次登录时间可以使zsh提示看上去更简洁。您可以使用以下命令隐藏该信息。

 touch ~/.hushlogin

下次打开终端时,在zsh提示符上方不会显示任何内容。

在终端中添加zsh提示

即使您偶尔在macOS上使用终端应用程序,也可以调整zsh提示符在此处出现的方式。您可以加粗,加下划线,缩短甚至包括日期和时间。

现在,您已经开始自定义zsh提示符,进行一些实验并使其成为自己的提示符。