0.介绍
Linux平台的的终端基本都是完成品,可以开箱即用。
但是,Windows平台哪怕最新发布的Terminal也显得差强人意。
因此,我们得对它进行一些预设置,让它满足我们的基本使用需求。
我目前使用的方案是Starship+Ubuntu Color Schema+PSReadLine。
不使用oh-my-posh的原因是它太慢了,加载它和posh-git两个插件,每次启动都得等1s。
虽然可以直接把终端挂后台,但是在IDE里面调用也要等加载就很难受。
因此我将prompt换成了Starship,它是由Rust编写的,速度非常快,加载几乎感觉不到延迟,而且同样是开箱即用的,可以快速部署,节约配置时间。
效果图:
Okay,做完介绍,接下来开始讲解具体配置过程。
1.Ubuntu Classic配色方案
选用Ubuntu经典配色方案的原因单纯因为个人喜欢。
如果大家有别的偏好的话,也可以搜索其他的配色方案进行替换,方法是相同的。
1.1 打开配置文件
- 打开Windows Terminal
- 按下Ctrl+,(逗号)进入设置页面
- 点击设置页面,左下角的齿轮,打开配置文件
1.2 编辑配置文件
- 搜索schemes,在其中添加Ubuntu Classic配色方案
{
"background": "#300A24",
"black": "#2E3436",
"blue": "#3465A4",
"brightBlack": "#555753",
"brightBlue": "#729FCF",
"brightCyan": "#34E2E2",
"brightGreen": "#8AE234",
"brightPurple": "#AD7FA8",
"brightRed": "#EF2929",
"brightWhite": "#EEEEEC",
"brightYellow": "#FCE94F",
"cursorColor": "#BBBBBB",
"cyan": "#06989A",
"foreground": "#EEEEEC",
"green": "#4E9A06",
"name": "Ubuntu Classic",
"purple": "#75507B",
"red": "#CC0000",
"selectionBackground": "#B5D5FF",
"white": "#D3D7CF",
"yellow": "#C4A000"
}
- 设置默认配色方案为Ubuntu Classic
在profiles.defaults中添加上"colorScheme": "Ubuntu Classic"(也可以在设置中直接选用)
"defaults":
{
"colorScheme": "Ubuntu Classic",
"font":
{
"face": "JetBrainsMono Nerd Font Mono"
},
"opacity": 100,
"useAcrylic": false
},
- 这里顺便设置了字体,到Nerd Font下载安装就好了,我推荐使用JetBrainsMono。(链接附在下方)
2.Starship Prompt
因为网络原因,按照官网使用winget进行安装的方法还得改地区,比较麻烦。
这边推荐直接到GitHub下msi安装包。(链接一样附在下方)
安装完成后,添加启动命令到Powershell的配置文件当中。
在terminal中输入下列命令,用vscode打开powershell配置文件。
code $PROFILE
在配置文件中添加该命令:
Invoke-Expression (&starship init powershell)
之后,每次打开终端terminal就会自动运行Starship Prompt了。
3.PSReadLine
PSReadLine是微软开发的命令提示工具。
按下Win+X快捷键,用管理员权限打开Windows Terminal,然后执行下列命令:
Install-Module -Name PSReadLine -Scope AllUsers -Force -SkipPublisherCheck
安装完成后,使用同样的方式修改Powershell配置文件,向其中添加:
Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete
之后就能跟在Linux中一样,通过按Tab键进行命令补全了。
4.设置别名
最后一个提示体验的方法就是给常用命令设置别名。
和加载Starship和PSReadLine一样,都是通过编辑profile进行配置。
这边提一点值得注意的地方,无参命令可以直接通过Set-alias命令进行设置,而有参命令得嵌套在函数里面,否则会报错。
下面是我的配置文件,给大家做个参考。
#Starship Prompt
Invoke-Expression (&starship init powershell)
#开启命令行补全提示
Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete
#Import-Module posh-git
#Functions for Paramterized Alias
function cdTest(){
cd C:\Users\foobar\Test
}
function cdProjects(){
cd C:\Users\foobar\Documents\IdeaProjects
}
function resources(){
cd C:\Users\foobar\Test\newbee-mall-master\src\main\resources
}
function here(){
explorer.exe .
}
function remote(){
ssh osboxes@192.168.0.113
}
#Command Alias
Set-alias 'ifconfig' 'ipconfig'
Set-alias 'touch' 'ni'
Set-alias 'grep' 'findstr.exe'
Set-alias 'vi' 'code'
#Quick Access to Directory
Set-alias 'test' 'cdTest'
Set-alias 'projects' 'cdProjects'
5.题外话
最后,再说点题外话。
根据V2EX上大家常用命令的统计,还是使用git,docker,文件管理命令(cd,ls…),编辑/构建/编译工具居多。
经过上述简单的配置,应该能够满足日常需求的基本体验了。
个人觉得,这可能也是接下来很长一段时间的最佳方案了。
这也是我在掘金的第一次分享,希望能够对大家有帮助。