使用 windows 的你,在使用命令行界面时,不知道有没有被丑陋到?
没有语法高亮,没有 emoji ,没有提示信息,而隔壁的 MacOS 和 Linux,因为 zsh 和 oh-my-zsh,命令行也成为了享受。
所以在 Windows 中该如何改善命令行的使用体验呢?在这里我们要使用到
windows terminalstarship
先看看 starship 是什么样的:
安装和配置
1. 安装 windows terminal
windows 在 2020 年推出新版的 terminal,如果你使用的是 win10,那么你就可以在 Microsoft Store 中去搜索 windows terminal 来安装
如果你用的是 win11,那么恭喜你,系统将自带这个软件作为启动命令行的容器。
2. 升级 powershell
如果你在启动 powershell 时,会出现这样的字样:
Windows PowerShell\
版权所有(C) Microsoft Corporation。保留所有权利。
安装最新的 PowerShell,了解新功能和改进!https://aka.ms/PSWindows
那么你就可以去访问 这里 来升级你的 powershell。具体升级事宜,这里将不再重复,你可以访问文档查看下详细的升级文档。这里我使用的是 winget 方式,十分简单便捷。
3. 安装 scoop
scoop 是一种 windows 下的包管理工具,官方文档在这里
3.1 配置安装路径
# 配置你的 scoop 用户安装路径
$env:SCOOP='D:\Applications\Scoop'
[Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
# 配置你的 scoop 全局安装路径,最好自己配置,不然默认安在 c 盘了
$env:SCOOP_GLOBAL='F:\GlobalScoopApps'
[Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine')
3.2 配置缓存路径
# 配置你的 scoop 缓存路径,最好自己配置,不然默认在 c 盘了
$env:SCOOP_GLOBAL='F:\GlobalScoopApps'
[Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine')
3.3 安装
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
安装成功后,就可以来使用 scoop 来安装其他的包啦
4. 配置 starship
4.1 安装
starship 是使用 Rust 编写的轻量级、反应迅速、可配置的高颜值终端,截至今天,starship 的 Github star 数已经高达 22.8 k。
starship 需要用到 scoop 来安装,请确保你的 windows 下有安装 scoop
你也可以查看文档来看其他的安装方法,windows 下目前有 4 种
scoop install starship
如果报了 mainfest.json 找不到的错误,请根据下面的步骤操作:
- 进入你的 scoop 的安装路径
- 进入 buckets\main
- 创建文件
starship.json - 将 这个文件 中的内容加入到刚刚创建的文件中
- 再次运行
scoop install starship - 安装成功
4.2 使用 powershell 默认启动 starship
使用 powershell,运行 $PROFILE,记住这个路径,并进入这个路径(如果没有这个路径就创建)
在这个路径下的 Microsoft.PowerShell_profile.ps1 中加入
Invoke-Expression (&starship init powershell)
重启终端,恭喜你,starship 已经安装成功
4.3 字体文件
确保你的 powershell 使用 Nerd Font 系列字体(这是为了让图标显示出来)
在这里下载,下载后将字体文件安装到你的 Windows 中。可以尝试 Fira Code Nerd Font
4.4 默认启动
将你的 windows terminal 软件中配置,默认启动 powershell
在外观中配置字体一定要是 Nerd Font 字体
最后
starship 官方文档中有完整的安装方式,已经配置参考,你可以去看官方文档来查看本文没有讲到的地方