写在最前
无聊的碎碎念不用在意
我一直秉持着一个美化舒适的开发环境能够极大的激发编程的兴趣这件事。而 Win10 原版的 PowerShell 和 CMD 窗口以及 git 自带的 git bash 都不能令我满意,甚至可以说实在是太丑了。
于是想到了利用 oh-my-posh 来美化 powershell。
在冰老师的博客里看到过使用 Windows Terminal
来替换 powershell,但是看了下配置方案,大部分都是写入脚本,对程序员来说确实是很 elegant 了,但是对小白很不友好。
相比于此,本帖使用的是 ConEmu 终端替换 Powershell。ConEmu 不仅提供完整的中文支持,而且有完整的 GUI 设置界面,界面元素也可以任意自定义。包括透明度和背景图片。
安装必要软件
ConEmu 安装包已经释出,Chocolatey 现已成为非必要内容,可以不装
Chocolatey 非必须,原本是为了给 ConEmu 提供安装路径和修复依赖,但是现在 ConEmu 作者已经释出了安装包,可以直接使用.exe 可执行文件安装 ConEmu。
官方发布了两种安装方法,一种是通过 cmd,一种是通过 powershell,这里我是从 powershell 安装。
安装方法:先在管理员模式下启动 powershell。win X 后再按A
代码语言:javascript复制# 以下为官方提示,大意为按照Chocolatey需要获得相应权限,因此执行相应代码。
With PowerShell, there is an additional step. You must ensure Get-ExecutionPolicy is not Restricted. We suggest using Bypass to bypass the policy to get things installed or AllSigned for quite a bit more security.
# 对于PowerShell,还有一个额外的步骤。您必须确保访问执行政策不受限制。我们建议使用旁路绕过策略来安装或全部同意,以获得更多的安全性。*
Run Get-ExecutionPolicy. If it returns Restricted, then run Set-ExecutionPolicy AllSigned or Set-ExecutionPolicy Bypass -Scope Process.
Now run the following command
Get-ExecutionPolicy运行。如果返回受限,则运行Set-ExecutionPolicy AllSigned或Set-ExecutionPolicy旁路作用域进程。
现在运行以下命令:
代码语言:javascript复制Set-ExecutionPolicy AllSigned
# 在接下来的选项中选择A而不是Y
# 接着运行以下命令
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
如此一来就 Chocolatey 安装好了。这里需要某种 “较为稳定的稳定的网络环境”。记得开全局模式。
安装 ConEmu
ConEmu 相当于 Windows 终端的增强版,可以直接打开多种类型的控制台窗口,安装完了可以用它替换 Powershell,调试好以后使用感觉一定比原版 powershell 好。以下是 ConEmu 作者的 github 仓库,觉得不错的可以去点个 star。
- ?已安装 chocolatey
- ?未安装 chocolatey
安装 Powerline 字体
直接安装 oh-my-posh,由于缺少字体支持,会出现乱码,为了优质体验,需要安装 Powerline 字体。
安装方法:
- 要用到 git。win X 然后再按A,启动 powershell 管理员模式。执行代码:
# 为了保证下载速度,此处已经替换成了gitee的镜像仓库
git clone https://gitee.com/akilar/fonts.git --depth=1
# install
cd fonts
./install.ps1
- 可能遇到的 bug执行以上代码过程中可能遇到的 bug
安装 posh-git 和 oh-my-posh
- 依旧是Win X 后按A 打开 powershell 管理员模式。 输入
Install-Module posh-git -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser
# 安装完成后,需要修改主题配置的脚本文件,执行以下命令
if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }
notepad $PROFILE
- 在打开的.ps1 配置文件中加入以下内容,主题选择可以参见以下内容
其中
Set-Theme Agnoster
设置了Agnoster
主题,也可以去官网找其他你喜欢的风格
Import-Module posh-git
Import-Module oh-my-posh
Set-Theme Agnoster
若下载过慢,可以使用方案二
设置 ConEmu
ConEmu 的中文支持相当不错,读者可以自由探索设置内容。而且 ConEmu 自带恢复默认设置选项,不用担心自己乱改导致出错。
首先放一下我的配置效果:
设置步骤如下:
- 设置默认语言为中文简体。
打开 ConEmu,右键上方栏位,选择
setting
:
- 设置默认启动 shell 为
{Shells::Powershell}
: 当然也可以选择别的,例如{Shells::Powershell(Admin)}
- 设置
控制台主要字体
为 powerline 字体: 这里我用的是Meslo LG M DZ for Powerline
, 也可以改成别的,有 Powerline 字体标识就好。替代字体(错误代码页,中日韩,等。)
选择Segoe UI Emoji
,这个是 Win10 自带的 emoji 字体。
- 设置不显示标签栏:
把
标签栏
显示设置为不要显示
。
- 取消显示状态栏:
把
显示状态栏
的勾选去掉
- 设置终端默认任务:
这里是针对 hexo 博客提供的一个配置,无需求的可以无视
这里我选择的是
{Shells::Powershell}
, 勾选新窗口默认任务
和默认shell(WIN X)
,然后在下方的启动目录
选项中选择自己的 Hexo 博客根目录。 这样,在已启动任意 ConEmu 窗口后,只需要按Win X, 新建的 shell 默认启动 Powershell 并定位到 Hexo 博客根目录了。
- 设置 ConEmu 为默认 shell
这一步的目的就是为了用 ConEmu 替换掉 Powershell,原生的 Powershell 是不支持第三方字体的。
选择
默认终端
,勾选强制使用ConEmu作为控制台应用程序的默认终端
。
ConEmu 还有许多其他功能可以探索,比如让默认启动位置为 Hexo 的根目录,或者给他增加一个背景图,或者调整透明度,两者结合还可以做出毛玻璃效果。因为对中文的支持还算可以,请诸位自行探索,本文不多加赘述。
后记
至此,powershell 美化就完成了,如果你是用安装版的 git,那么你可以直接通过在你的 Hexo 文件下,按住Shift,单击右键,选择在此处打开 powershell,然后在 powershell(其实是 ConEmu 了)里使用 hexo 和 git 命令了。绿色版的 git 的话,请你老老实实去把 GIT_HOME 之类的环境变量配好吧。