在上一篇文章中,我们介绍了如何将 PowerShell 的终端变得漂亮起来。在这一篇文章中,我将为大家介绍如何定制 PowerShell 中的 Prompt 单元,并推荐 5 个赏心悦目的 Prompt(命令提示符)主题。

开始之前,我先介绍一下 PowerShell 的基本构成。PowerShell 等 Shell 的一个基本的命令单元大致如下:

前面的部分就是 Prompt,能够展示包括用户、系统、开发环境、版本控制等等有用的信息

后面的部分是具体的命令,也就是我们每次执行操作时输入命令的位置

PowerShell 相对不人性化的地方在于其默认 Prompt 只有 PS C:\User\..\folder> 这样的一部分。所以,我推荐 oh-my-posh 这个 PowerShell 的主题框架。oh-my-posh 是一个开源、低调的 PowerShell 主题框架,其 GitHub 项目地址位于:JanDeDobbeleer/oh-my-posh。我们可以利用 oh-my-posh 为我们定制一个有用且好看的 Prompt。

准备工作

首先需要注意的是,oh-my-posh 主题使用了一些非 Powerline 字体不支持的字符,因此如果你使用默认的等宽字体(比如 Consolas),在显示过程中就会出现乱码、字符显示不全的现象。

Powerline 字体在 GitHub 开源,我们可以在这里: powerline/fonts 下载支持相关字符的字体。(如果你使用的是更纱黑体,那么就不必担心。)同时,请务必确认你所使用的终端支持你所想应用的自定义 Powerline 字体。

下载安装

我们通过在 PowerShell 中执行下面的命令安装配置 oh-my-posh。

安装 posh-git 和 oh-my-posh 这两个模块

Install-Module posh-git -Scope CurrentUser

Install-Module oh-my-posh -Scope CurrentUser

让 PowerShell 主题配置生效

新增(或修改)你的 PowerShell 配置文件

# 如果之前没有配置文件,就新建一个 PowerShell 配置文件

if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }

用记事本打开配置文件

notepad $PROFILE

在其中添加下面的内容

Import-Module posh-git Import-Module oh-my-posh Set-Theme Paradox

其中最后一句 Set-Theme 就是配置主题的命令。如果一切顺利,你应该看到你的 Prompt 部分变成了类似这个的样子:

值得注意:如果你发现后面的日期显示出现了凌乱的现象(比如本该在同一行显示的字符却跑到了下一行),多半是因为显示了中文。目前很多终端都不能正常的显示中文或 CJK 字符(即:Double-width character),所以你可以通过下面这个命令将 PowerShell 的环境设置为 en-US 的英文环境:

Set-Culture en-US

一般来说,PowerShell 的用户配置文件在 C:\Users\\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1,这个也就是刚刚安装过程中生成的文件,接下来定制的过程,就修改这个文件来配置即可。

主题推荐

使用某个主题很简单,下面这个命令就可以让我们预览某个主题:

Set-Theme

比如我想要预览 Sorin 这个主题:

Set-Theme Sorin

注:这个命令支持 Tab 自动补全主题名称。

配置文件的最后一句 Set-Theme Paradox 的作用就是配置主题。我们可以在配置文件里面修改这个命令中的 Paradox 即「主题名」来更换主题。oh-my-posh 内置有 10 个主题,下面我来推荐几个我比较喜欢的主题:

Agnoster

oh-my-posh 的主题有很多都借鉴了 Linux 世界里相对更加成熟的主题框架 oh-my-zsh 的主题。Agnoster 这个主题算是最经典的一个了,长长的箭头配合上鲜明的色彩让这个主题成为经典中的经典。不仅如此,Agnoster 还能够更加方便的显示你的登录用户名、设备名、当前文件夹中 git 版本控制的信息等等一系列有用的功能。

Sorin

Sorin 这个主题也是我相对比较喜欢的一个了。和上面 Agnoster 相比,Sorin 这个主题简洁、精致,仅由字符和图标构成,没有华丽的箭头,但是信息显示的一点不少。值得推荐。

Avit

Avit 是一个极为简单的主题,其主 Prompt 是由两行构成的,第一行显示路径、git 版本控制信息和日期等等,第二行显示每次输入的命令。这样的设计有一个好处在于:我们可以避免前面部分显示不支持的字符导致光标位置出现错位的问题。很值得尝试。

robbyrussell

熟悉 oh-my-zsh 的同学一定了解,robbyrussell 这个主题是 oh-my-zsh 的默认主题!如果说哪个主题能让 PowerShell 用起来像 zsh 那么一定是这个 robbyrussell 主题了。

定制自己的主题

oh-my-posh 是相对比较完善的 PowerShell 主题配置引擎,因此我们也可以魔改某个主题,来让它达到我们想要的效果,甚至自己写一个主题配置也可以。在 oh-my-posh 的主题文件夹 C:\Users\\Documents\WindowsPowerShell\Modules\oh-my-posh\\Themes 下新建一个 myTheme.psm1,之后按照其他主题的写法进行修改就可以了。使用 Set-Theme myTheme 这个命令来让你的自定义主题生效。

限于篇幅我这里不具体介绍如何写一个自定义的主题,感兴趣的同学还请自行进行查看 oh-my-posh 的相关文档。我自己也有一个自定义主题在:spencerwooo/dotfiles,有兴趣的同学可以去参考一下。

还有一个值得注意的地方是:我的自定义主题中涉及到一些 Powerline 字体不支持的字符,需要在这里 ryanoasis/nerd-fonts 下载 Nerd Fonts 来正常使用。想要更多字符支持(比如题图中的那个 Windows 徽标 icon 的显示)可以考虑使用 Nerd Fonts。使用 Scoop 包管理 的同学,也可以利用它来安装 Nerd Fonts,具体步骤就不赘述了。

尾巴

自从 2016 年微软将 PowerShell 和 PowerShell Core 开源,Windows 上的终端体验也有了长足的发展。经过这篇文章的介绍,我相信你在 Windows 上使用 PowerShell 终端的体验会有所进步。

当然,为了让使用 Windows 的同学们同样能在原生 Windows 的环境下体验甚至直接使用 Linux 的终端环境,在 Windows 10 中 Windows 也正式引入了 Windows Subsystem for Linux,即适用于 Windows 的 Linux 子系统。如果你觉得 PowerShell 依旧糟糕,想使用 Linux 的 bash 或 zsh 等作为默认的 Shell 进行开发工作,那么使用 Windows 10 的你现在就可以去微软商店下载你希望使用的 Linux 发行版。

有关 PowerShell 等终端的配置指南到这里就结束了,感谢阅读。

linux haokande shell,5 个 PowerShell 主题,让你的 Windows 终端更好看相关推荐

  1. power linux 安装系统,在Linux系统中安装/使用PowerShell Core 6.0

    在微软爱上 Linux 之后,PowerShell 这个原本只是 Windows 才能使用的组件,于 2016 年 8 月 18 日开源并且成为跨平台软件,登陆了 Linux 和 macOS. Pow ...

  2. linux如何美化桌面,Gnome Shell 环境桌面图标主题美化记

    几天前我分享了我的Gnome Shell桌面,有同学希望我分享一下Gnome Shell 环境桌面图标主题教程,其实我自己也想写一篇关于 Gnome shell 桌面主题安装的文章,是如何安装漂亮的图 ...

  3. linux 终端 主题 配色方案,自定义 Windows Terminal 终端界面与配色方案

    什么是 Windows Terminal?官方简介如下: Windows 终端是一个面向命令行工具和 shell(如命令提示符.PowerShell 和适用于 Linux 的 Windows 子系统 ...

  4. linux中用shell获取昨天、明天或多天前的日期

    linux中用shell获取昨天.明天或多天前的日期时间 2015-12-08 09:33:00 BlogJava-专家区 原文 http://www.blogjava.net/xzclog/arch ...

  5. linux的shell类型_Linux中有哪些不同类型的Shell?

    linux的shell类型 Shells are an important part of any Linux user session. We are provided several differ ...

  6. 为Linux安装Mac图标主题,在Linux上安装macOS Catalina图标主题的方法

    想改变你无聊的Linux系统图标吗?以匹新款Apple macOS Catalina吗?如果是这样,本文适合你,我们将介绍如何在Linux上安装和设置macOS Catalina图标主题. 下载mac ...

  7. linux shell cgi post,linux下shell处理cgi的方法--post get

    web server获取网页上HTML的DOM对象信息发送来的信息,主要有get和post方法. 介绍原理的文章很多,但介绍实际应用到linux的shell中的文章很少. 1.get方法 ①表单源码如 ...

  8. linux shell脚本攻略_(python)Linux下shell脚本监控Tomcat的状态并实现自动启动步骤...

    今天为大家带来的内容是:(python)Linux下shell脚本监控Tomcat的状态并实现自动启动步骤 本文内容主要介绍了Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤,文章 ...

  9. linux shell脚本if,linux的shell脚本中if,for,while的解析与应用

    linux的shell中有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while),它们对我们平时的脚本编写和命令输入都有很大的作用,掌握了这些一定会对我们有很大的帮助. 一. ...

最新文章

  1. 铁大Facebook——十天冲刺(5)
  2. 相对于硬件计算机软件就是,计算机的软件是将解决问题的方法,软件是相对于硬件来说的...
  3. 2021暑假实习-SSM超市积分管理系统-day07笔记
  4. IOS开发之UI基础LOL英雄展示-15
  5. 侣信即时通讯系统的技术解析
  6. 安卓adapter适配器作用_自带安卓系统的便携屏,能玩出什么花样?
  7. 在Windows Server 2008上安装和配置Web和FTP服务
  8. Netkiller 手札 2019 CHM 格式电子书下载
  9. iOS开发--Runtime知识点整理
  10. 兼顾高可靠和低延迟,Google打算用QUIC协议替代TCP/UDP
  11. java简单烟花代码_JavaScript实现的简单烟花特效代码
  12. AutoRunner录制过程中发现对象录制不了
  13. 怎么把flv格式转成mp4?
  14. PISCES P4-vSwitch 安装以及一次失败的测试
  15. ODL中版本变化引起包位置的变化
  16. 微信视频号视频怎么下载保存到手机相册?
  17. Keras中进行模型训练时,计算每一步迭代所花费时间的方法
  18. 博客专家3月原创奖励
  19. 在Geany里配置python3的方法!!!含window10下载Geany过程
  20. 电脑鼠标不管用但键盘可以用怎么办

热门文章

  1. 标题、段落标签(HTML)
  2. JavaScript:变量提升作用域
  3. 数据库学习--DCL(数据库控制语言)
  4. 理解BERT Transformer:Attention is not all you need!
  5. 发布一个MsBuild任务组件-可用于同时发布多个网站
  6. 设计师学习HTML/CSS之路-08
  7. 【李宏毅2020 ML/DL】P75 Generative Adversarial Network | Conditional GAN
  8. express : 无法将“express”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。express: command not found
  9. Android M cm主题,M Dark Mode CM12.1 CM13 theme
  10. 再让大家清爽一下,给加班的oscer们,哈