俗话说,RGB就是战斗力,颜值就是生产力!所以,max和linux有iTerm + ohmyzsh,windows就有Terminal + ohmyposh

这次就来折腾一下,还是挺方便的。

1. 去微软商店下载 Windows Terminal

2. 安装Chocolatey

Chocolatey Software | Installing Chocolatey网页下,复制安装脚本

img

Chocolatey安装脚本

1
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

复制到终端中

即可自动安装Chocolatey

使用choco -v检查一下

3. 设置管理员权限启动

启用管理员模式,不然后面可能会权限不足,安装失败。

img

4. 安装字体

推荐使用等宽连体带图标(终端显示的花样多一点)的字体

如果用默认字体,ohmyposh会乱码

我使用Nerd Fonts

安装使用Chocolatey即可

1
choco install nerd-fonts-hack

5. 编辑windows terminal 配置使用Nerd Fonts字体

这里很多人都会去下载一个powershell,其实没有必要,Windows自带的powershell的版本和功能已经可以满足要求。

img img

当然也可以直接使用配置文件,"defaults""profiles"属性下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
json"defaults": 
{
"backgroundImage": null,
"colorScheme": "Campbell",
"cursorShape": "filledBox",
"experimental.retroTerminalEffect": false,
"font":
{
"face": "CodeNewRoman Nerd Font Mono",
"size": 14.0,
"weight": "normal"
},
"opacity": 90,
"padding": "0",
"scrollbarState": "hidden",
"useAcrylic": false
},

其余的配置文件内容

1
2
3
4
5
6
7
8
9
10
11
12
13
json"copyFormatting": "none",
"copyOnSelect": false,
"defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"alwaysOnTop": false,
"alwaysShowTabs": true,
"autoHideWindow": false,
"disableAnimations": false,
"firstWindowPreference": "defaultProfile",
"focusFollowMouse": false,
"initialCols": 88,
"initialPosition": "750,350",
"initialRows": 24,
"launchMode": "focus",

大概在这个行数

img

添加快捷键

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
json"actions": 
[
{
"command":
{
"action": "copy",
"singleLine": false
},
"keys": "ctrl+c"
},
{
"command": "paste",
"keys": "ctrl+v"
},
{
"command":
{
"action": "splitPane",
"split": "auto",
"splitMode": "duplicate"
},
"keys": "alt+shift+d"
},
{
"command": "find",
"keys": "ctrl+shift+f"
},
{
"command": "toggleFocusMode",
"keys": "alt+z"
}
],

这样可以使用alt+z打开标题栏

5. 允许终端运行本地脚本

输入这个命令即可

1
set-ExecutionPolicy RemoteSigned

这一步是确保后面终端自动使用ohmyposh启动

img

6. 安装oh-my-posh

  1. 安装oh-my-posh

    1
    choco install oh-my-posh
  2. 创建powershell配置文件

    1
    if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }
  3. 打开配置文件

    1
    notepad $PROFILE
  4. 写入指令,这里是让终端在启动时加载oh-my-posh配置文件,其中~/.omp.theme.json是配置文件的所在路径,windows的话就是在C:\Users\Administrator下创建.omp.theme.json文件并写入配置即可

    1
    oh-my-posh init pwsh --config ~/.omp.theme.json | Invoke-Expression
  5. 关闭启动时的banner,添加-nologo项即可

img

7. 安装自动补全插件

  1. 先安装最新的PowerShellGet

    1
    2
    bashInstall-Module -Name PowerShellGet -Force
    Exit
  2. 再安装PSReadLine

    1
    Install-Module PSReadLine -AllowPrerelease -Force
  3. powsershell输入

    1
    notepad.exe $PROFILE
  4. 在打开的界面输入下面内容

    1
    2
    3
    4
    bashSet-PSReadLineKeyHandler -Key Tab -Function MenuComplete #Tab键会出现自动补全菜单
    Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward
    Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward
    # 上下方向键箭头,搜索历史中进行自动补全
  5. 保存重启powershell即可

8. 安装oh-my-posh主题

  1. 查看 oh-my-posh 提供的所有主题:

    1
    Get-PoshThemes
  2. 预览一个主题(将 name.omp.json 替换为你想要的主题名称):

    1
    oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\your_theme.omp.json" | Invoke-Expression
  3. 设置默认主题

    1. 编辑 PowerShell 配置文件

      1
      notepad $PROFILE
    2. 将以下命令添加到文件中(将 your_theme.omp.json 替换为你选择的主题):

      1
      oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\your_theme.omp.json" | Invoke-Expression
  4. 自定义主题

    1. 查看主题的配置文件目录,我的是在 C:\Program Files (x86)\oh-my-posh\themes

      1
      echo $env:POSH_THEMES_PATH
    2. 直接编辑 your_theme.omp.json 文件。也可以在文件中更改提示符的布局、颜色和显示信息等。配置项的说明可以在 [oh-my-posh](oh-my-posh/themes at main · JanDeDobbeleer/oh-my-posh) 官方文档 中找到。

友情链接:

Themes | Oh My Posh

oh-my-posh/themes at main · JanDeDobbeleer/oh-my-posh

9. 展示

image-20241025235417348