Windows Terminal 配置 oh-my-posh
0. 前置
这个东西毕竟是个,命令行美化工具,所以需要先有一个命令行,我这里用的是 Windows Terminal1。总之具体的细节不再赘述,安装这个的教程可以参考上文的链接,或者自行查找教程。我们在这里假设你已经有了一个配置好的终端,并且熟悉其修改基本设置。
1. 安装
1.1. win10
1.1.1. 软件
网上有的教程,有在命令行用winget
的,有在Microsoft Store
安装的,但是可能由于网络问题,试了几次都没成功,最终还是直接去 github2下载的安装包,选了个64位的版本。
这个比较烦的是需要手动更新,毕竟是手动安装的软件。如果有更新,会在更新发布后,第一次打开终端的时候,在命令行上面弹出几行更新提示。毕竟开命令行的时候才启动了oh-my-posh
,自然它也就在此时检查更新。之前还想找一下有无禁止更新的设置,没找到。
需要注意,手动更新的话,每次更新似乎会覆盖安装位置的所有文件,所以不要在安装文件夹放什么配置文件。
1.1.2. 字体
美化嘛,总要整点新花样,花里胡哨的字符,自然就需要一个新的字体来支持视觉效果。这里没啥说的,按照官方文档的装就行了,就是这个Meslo LGM NF
。这里就不放字体链接了,去官方文档3找吧,万一他们更新了字体或者什么的。总之,下载链接大概在这个位置,摘录一段原文:
Oh My Posh was designed to use Nerd Fonts. Nerd Fonts are popular fonts that are patched to include icons. We recommend
Meslo LGM NF
, but any Nerd Font should be compatible with the standard themes.
To see the icons displayed in Oh My Posh, install a Nerd Font, and configure your terminal to use it.
1.1.3. 激活
1.1.3.1. Git Bash
大概是在配置文件里面加一行代码,配置文件的地址是:
C:\Users\UserName\.bash_profile
然后加一行激活oh-my-posh
主题的代码
eval "$(oh-my-posh --init --shell bash --config D:\\Software\\Config\\oh-my-posh-themes\\jandedobbeleer.omp.json)"
反正大概意思就是,在启动Git Bash
的时候,运行这行代码。然后这行代码的意思呢,是启动oh-my-posh
并初始化,使用指定路径的json
文件来配置主题。
1.1.3.2. PowerShell
首先需要说一下,这个是旧版的,详细信息如下:
PS C:\WINDOWS\system32> $psversiontable
Name Value
---- -----
PSVersion 5.1.19041.4170
PSEdition Desktop
PSCompatibleVersions {
1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.19041.4170
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
配置文件大概是在4:
C:\Users\UserName\Documents\WindowsPowerShell\profile.ps1
然后启动命令是:
oh-my-posh init pwsh --config 'D:\Software\oh-my-posh-themes\jandedobbeleer.omp.json' | Invoke-Expression
改主题的话,只要改路径使用新的json
或者是直接改这个json
内容都行
据使用体验来看,旧版PowerShell
在我的电脑上本来加载就慢,配上oh-my-posh
之后更是爆炸。
反正平常也就是命令行跑跑代码,我还是常用Git Bash
。至于PowerShell
,我去掉了所有的加载项,基本只在必要的时候使用,例如net
命令什么的…当然cmd
好像也能跑这些,而且貌似还更快。
1.1.3.3. CMD
后来还是换到了CMD
,因为Git
和PowerShell
的启动速度实在是太慢了
先以CMD
和oh-my-posh
找点关键词,找到这个5和这个6
好了,接下来可以开始尝试了
因为我们需要启动CMD
的时候自动启动clink
进行注入,总不能,每次都手动吧
然后选个安装位置,我选的是D盘
,然后安装就行
接下来需要准备oh-my-posh
的初始化脚本了,参考上面的资料可得:
-- load(io.popen('oh-my-posh init cmd'):read("*a"))()
load(io.popen('oh-my-posh init cmd --config D:/Software/Config/oh-my-posh-themes/jandedobbeleer.omp.json'):read("*a"))()
保存成为oh-my-posh.lua
放进安装文件夹,如果忘记安装位置可以在CMD
里面跑一下:
clink info
然后找到有一个scripts
的项目,看看它后面的路径
由于我是安装在D盘
,所以它会有一个在C盘
的路径,也会有一个D盘
的路径
理论上来说都行,我放D盘
了,然后成功
1.2. Linux
如果想要使得SSH
连接云服务器的时候也显示oh-my-posh
,那就需要在服务器上也安装,主要参考这个10,我的服务器版本如下:
首先需要根据系统版本去下载安装包,我在云服务器改了Host
,但还是无法下载,只好去浏览器找个加速网站下载到本地,再上传到云服务器
然后把这个文件放到/usr/local/bin/
目录下,并改名为oh-my-posh
其实也就是:
sudo mv posh-linux-amd64 /usr/local/bin/oh-my-posh
接着修改权限
sudo chmod +x /usr/local/bin/oh-my-posh
然后是主题