前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >将美化进行到底,把 PowerShell 做成 oh-my-zsh 的样子

将美化进行到底,把 PowerShell 做成 oh-my-zsh 的样子

作者头像
walterlv
发布2018-09-18 13:50:48
4.4K0
发布2018-09-18 13:50:48
举报
文章被收录于专栏:walterlv - 吕毅的博客

将美化进行到底,把 PowerShell 做成 oh-my-zsh 的样子

发布于 2017-12-26 07:00 更新于 2018-02-19 22:53

不知你有没有看过 Linux 上 oh-my-zsh 的样子?看过之后你一定会惊叹,原来命令行还能这么玩!然而 Windows 下能这么玩吗?答案是可行的,接下来就来看看怎么玩。

借用了下 oh-my-zsh 的官网图片
借用了下 oh-my-zsh 的官网图片

Windows 下我们用 oh-my-posh 在 PowerShell 中实现这样的效果。分以下三步走:

安装 oh-my-posh

我们需要先以管理员权限启动 PowerShell,以便执行安装操作。(具体是在开始按钮上点击右键,选择“Windows PowerShell (管理员)”。)

以管理员权限启动 PowerShell
以管理员权限启动 PowerShell

然后,运行命令以安装 posh-git,这是 oh-my-posh 的依赖。

代码语言:javascript
复制
Install-Module posh-git -Scope CurrentUser

如果此前没有安装 NuGet 提供程序,则此时会提示安装 NuGet;如果此前没有开启执行任意脚本,此处也会提示执行脚本。如果没有权限执行脚本,可能需要先执行 Set-ExecutionPolicy Bypass

Install-Module posh-git -Scope CurrentUser
Install-Module posh-git -Scope CurrentUser
安装 NuGet 提供程序
安装 NuGet 提供程序
安装 posh-git
安装 posh-git

接下来,运行命令以安装 oh-my-posh 本身。

代码语言:javascript
复制
Install-Module oh-my-posh -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser
安装 oh-my-posh
安装 oh-my-posh

自此,oh-my-posh 安装完毕。

启用模组并设置主题

接下来,我们需要启用安装的模组。启用模组的命令是:

代码语言:javascript
复制
Import-Module oh-my-posh

但是,我们期望的是每次打开 PowerShell 都能够启用这个模组,所以我们需要设置 profile 文件让它自动启用。

$profile 可以让 PowerShell 告诉我们这个文件的路径是什么。当然下图是我的路径,读者的默认在文档路径里的 PowerShell 文件夹下。

profile 文件路径
profile 文件路径

我们需要编辑这个文件(如果没有,手动创建一个),然后在里面写下那一句话:

代码语言:javascript
复制
Import-Module oh-my-posh

接下来,新打开 PowerShell(不需要管理员权限)时就会提示加载了这个文件:

加载个人及系统配置文件
加载个人及系统配置文件

其实写本文主要就是想体验 zsh 的操作,并看看 git 文件夹的视觉效果。现在我们就试试,输入:

代码语言:javascript
复制
Set-Theme

然后按一下空格,按一下 Tab。会发现这时已经可以用方向键来选择参数了!原生 PowerShell 可没有这个功能啊!

选择主题
选择主题

我们选择 Agnoster 主题。(这些主题都是 oh-my-posh 带给我们的。)

接下来我们看看 git 文件夹下的显示:

git 文件夹的显示
git 文件夹的显示

并没有 zsh 那样的效果。——因为我们缺少专用的字体!

安装字体/安装第三方 PowerShell

!!!重要说明:给 PowerShell 定制字体是一件非常困难的事情,非常困难!!! 可参见 自定义 Windows PowerShell 和 cmd 的字体 感受一下。 所以,这里更倾向于在安装了字体的情况下使用第三方 PowerShell。

比如下图是我用 vscode 中带的 PowerShell 的效果。

PowerShell in vscode
PowerShell in vscode

推荐的其他 PowerShell:

而适用于 oh-my-posh 的字体推荐使用 PowerLine 字体,他们专门为 zsh 这样的体验而生。官方文档在这里 Overview — Powerline beta documentation

官方文档中的 PowerLine 字体截图
官方文档中的 PowerLine 字体截图

▲ 官方文档中的 PowerLine 字体截图


参考资料

本文会经常更新,请阅读原文: https://walterlv.com/post/beautify-powershell-like-zsh.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 (walter.lv@qq.com)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-12-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 将美化进行到底,把 PowerShell 做成 oh-my-zsh 的样子
    • 安装 oh-my-posh
      • 启用模组并设置主题
        • 安装字体/安装第三方 PowerShell
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档