最近组了台台式机,日常主力机从Mac OS切到了Windows,Windows下的终端之前一直是被吐槽的对象,不过自从有了WSL后,Windows下的开发体验有了极大的提升,终端体验已经完全能赶得上Mac、Linux。贴两张调整后的终端截图:

windows terminal

wsl

安装ho my posh

直接在Windows store搜索安装即可 oh-my-posh

修改配置文件

安装完成后打开Windows terminal,命令行输入$PROFILE获取配置文件位置,类似Linux的.zshrc、.bashrc

>> $PROFILE
C:\Users\wow\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

直接使用notepad编辑$PROFILE文件,若文件不存在直接新建

❯❯ notepad C:\Users\wow\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

输入如下内容

# 终端主题,可以修改montys.omp.json比如改成gmay.omp.json切换其他主题
C:\\Users\\wow\\AppData\\Local\\Programs\\oh-my-posh\\bin\\oh-my-posh.exe init pwsh --config $env:POSH_THEMES_PATH\montys.omp.json | Invoke-Expression

# 插件类似zsh的各种插件
Import-Module posh-git # 引入 posh-git
Import-Module PSReadLine # 历史命令联想

# 设置预测文本来源为历史记录 
Set-PSReadLineOption -PredictionSource History 
# 设置 Tab 为菜单补全和 Intellisense 
Set-PSReadLineKeyHandler -Key "Tab" -Function MenuComplete 
# 每次回溯输入历史,光标定位于输入内容末尾 
Set-PSReadLineOption -HistorySearchCursorMovesToEnd 
# 设置向上键为后向搜索历史记录 
Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward 
# 设置向下键为前向搜索历史纪录 
Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward

安装字体

保存重新载入后,再打开就会发现主题已修改,但有些乱码字符,很明显是某些字体没有安装,如果在Linux、Mac下折腾过终端对这些肯定都很熟悉。 安装字体, 可以直接在终端使用oh-my-posh安装,可能需要代理

 # 安装字体
 ❯❯ oh-my-posh font install
 # 安装失败,如果有代理,可以设置代理后尝试重试
 ❯❯ set HTTP_PROXY=http://ip:port
 ❯❯ set HTTPS_PROXY=http://ip:port

如果安装失败也可以直接浏览器下载字体解压安装,比如安装JetBrainsMono可以直接去github下载字体包,下载后解压安装 进入终端配置,修改字体和主题 进入power shell -> 外观 修改想要的主题和新安装的字体,保存后乱码问题就解决了,如果没解决换其他字体

安装插件

上面说到安装了两个插件,进入终端的时候会提示插件没有安装可以执行以下命令安装

❯❯ Install-Module PSReadLine  -Force

❯❯ Install-Module posh-git  -Force

至此Windows-terminal基本调教完成,看着舒服多了。

wsl安装oh-my-zsh

最后把wsl ubuntu子系统切成zsh并安装oh-my-zsh,进入Linux终端,安装zsh

# 安装zsh
$ sudo apt intall zsh
# 切换当前用户默认shell
$ chsh -s /usr/bin/zsh

后续安装zsh可以参考我之前写的在Mac下安装zsh的文章